Как изменить цвет StatusBar заставки? - PullRequest
1 голос
/ 17 марта 2019

Я использую React Native для сборки своего приложения для Android, и я следовал этому учебнику , чтобы настроить заставку.Вот результат .Моя главная проблема в том, что цвет строки состояния меняется на черный, я не могу решить эту проблему, имея <item name="colorPrimaryDark">@color/colorPrimaryDark</item> в моем файле styles.xml и <color name="blue">#009CD7</color>, <color name="colorPrimaryDark">#009CD7</color> в моем файле colors.xml.

Дополнительный вопрос: как центрировать изображение без жесткого кодирования поля, чтобы оно оставалось в центре независимо от устройства, на котором запущено приложение?

Ответы [ 2 ]

1 голос
/ 17 марта 2019

Если вы хотите изменить цвет панели задач, просто добавьте активность и цвет, который вы хотите, в функции вывода.

fun setTaskBarColored(colored: Int,activity: Activity) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            activity.window!!.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
            activity.window!!.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
            activity.window!!.statusBarColor = ContextCompat.getColor(activity, colored)
        }
    }

И то же самое относится и к панели навигации

    fun setNavigationBarColored(colored: Int, activity: Activity){
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            activity.window!!.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
            activity.window!!.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
            activity.window!!.navigationBarColor =  ContextCompat.getColor(activity, colored)
        }
    }
0 голосов
/ 18 марта 2019

Вы можете просто добавить этот код JSX в корень вашего приложения вместо редактирования любых собственных файлов.

<StatusBar backgroundColor="blue" barStyle="light-content" />

Также, чтобы центрировать изображение, оберните его видом и добавьте стиль «{justifyContent: 'center', alignItems: 'center'}».Если это не сработает, добавьте этот стиль непосредственно к компоненту изображения «alignSelf: 'center» »

...