1

Я хочу изменить цвет навигационной панели и строки состояния в приложении Android 5 Lolipop.Строка состояния и цвет навигатора не изменится

Вот мои настройки манифеста SDK:

<uses-sdk android:minSdkVersion="21" 
      android:targetSdkVersion="21" 
      android:maxSdkVersion="21" /> 

У меня есть это в моем my_style.xml файле:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <!-- inherit from the material theme --> 
    <style name="AppTheme" parent="android:Theme.Material"> 
     <!-- Main theme colors --> 
     <!-- your app branding color for the app bar --> 
     <item name="android:colorPrimary">@color/primary</item> 
     <!-- darker variant for the status bar and contextual app bars --> 
     <item name="android:colorPrimaryDark">@color/primary_dark</item> 
     <!-- theme UI controls like checkboxes and text fields --> 
     <item name="android:colorAccent">@color/accent</item> 

     <item name="android:statusBarColor">@color/navbar</item> 
     <item name="android:navigationBarColor">@color/navbar</item> 
    </style> 
</resources> 

Если изменить android:colorPrimary цвет панели (не в строке состояния/NavBar) также изменения в макете в среде IDE и при отладке приложения Android, но statusBarColor и navigationBarColor ничего не делают (https://developer.android.com/training/material/theme.html - здесь вы можете видеть, что это должно). Я даже пытался:

getWindow.setStatusBarColor(Integer.parseInt("00FF00", 16)) 

но он также не работает. Я что-то упускаю ?

ответ

1

Я решил, что, добавив флаг (Scala код):

getWindow.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) 

перед тем

setContentView(R.layout.main) 

он работает в приложение, но до сих пор макет редактор не показывает изменения android:statusBarColor и android:navigationBarColor элементов в app_style.xml

+0

Как вы получили 'getWindow'? Для меня это говорит, что нельзя разрешить символ 'getWindow'? – TheOddAbhi

+0

getWindow находится в Scala, на Java вы, вероятно, хотите getWindow() – myhau

+0

Я смог решить его по-другому. – TheOddAbhi

Смежные вопросы