Проблема с передачей PlatformColor в setBackgroundColorAsync в панели навигации выставки, реагирующей на роднуюAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема с передачей PlatformColor в setBackgroundColorAsync в панели навигации выставки, реагирующей на родную

Сообщение Anonymous »

Я столкнулся с проблемой при попытке использовать PlatformColor в качестве аргумента функции setBackgroundColorAsync в пакете expo-navigation-bar. Функция ожидает ColorValue, которое может быть строкой или OpaqueColorValue.
Однако, когда я передаю PlatformColor в setBackgroundColorAsync, я сталкиваюсь со следующей ошибкой:

ПРЕДУПРЕЖДЕНИЕ: возможное отклонение необработанного обещания (id: 1):
Ошибка: аргумент несовместимого класса: класс java.util.HashMap не может быть передан в качестве аргумента для ожидания параметра int.
Эта ошибка удивительна, поскольку PlatformColor отлично работает с другими компонентами, такими как свойство backgroundColor представления, которое также ожидает ColorValue.
Для например, этот код работает отлично: Но не это:

Код: Выделить всё

NavigationBar.setBackgroundColorAsync(PlatformColor('@android:color/system_neutral2_900'));
А если я использую ProcessColor, вот так:

Код: Выделить всё

import { processColor, PlatformColor } from 'react-native';

const color = processColor(PlatformColor('@android/system_neutral2_900'));
NavigationBar.setBackgroundColorAsync(color);
Он говорит: Невозможно преобразовать «[object Object]» в тип Kotlin.
Я пытаюсь динамически установить соответствующий цвет панели навигации. текущая тема моего приложения для Android. Вместо использования статического цвета, такого как черный, я хочу, чтобы цвет панели навигации подстраивался под общую цветовую схему приложения.
PS: я уже пробовал использовать другие библиотеки, такие как Reaction-native- Navigation-bar-color, но, похоже, это не работает с моим приложением.
Есть ли способ решить эту проблему и передать PlatformColor в качестве аргумента для setBackgroundColorAsync? или, возможно, обходной путь будет полезен

Подробнее здесь: https://stackoverflow.com/questions/786 ... ion-bar-re
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»