Однако, когда я передаю PlatformColor в setBackgroundColorAsync, я сталкиваюсь со следующей ошибкой:
ПРЕДУПРЕЖДЕНИЕ: возможное отклонение необработанного обещания (id: 1):
Ошибка: аргумент несовместимого класса: класс java.util.HashMap не может быть передан в качестве аргумента для ожидания параметра int.
Эта ошибка удивительна, поскольку PlatformColor отлично работает с другими компонентами, такими как свойство backgroundColor представления, которое также ожидает ColorValue.
Для например, этот код работает отлично:
Код: Выделить всё
Код: Выделить всё
NavigationBar.setBackgroundColorAsync(PlatformColor('@android:color/system_neutral2_900'));
Код: Выделить всё
import { processColor, PlatformColor } from 'react-native';
const color = processColor(PlatformColor('@android/system_neutral2_900'));
NavigationBar.setBackgroundColorAsync(color);
Я пытаюсь динамически установить соответствующий цвет панели навигации. текущая тема моего приложения для Android. Вместо использования статического цвета, такого как черный, я хочу, чтобы цвет панели навигации подстраивался под общую цветовую схему приложения.
PS: я уже пробовал использовать другие библиотеки, такие как Reaction-native- Navigation-bar-color, но, похоже, это не работает с моим приложением.
Есть ли способ решить эту проблему и передать PlatformColor в качестве аргумента для setBackgroundColorAsync? или, возможно, обходной путь будет полезен
Подробнее здесь: https://stackoverflow.com/questions/786 ... ion-bar-re
Мобильная версия