2015-02-28 3 views
0

Я использовал этот код ниже, чтобы установить цвет строки состояния. поместил этот код под значением-V21 папкуКак установить цвет строки состояния в android

`

<style name="AppTheme" parent="android:Theme.Material"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowContentOverlay">@null</item> 
    <item name="android:colorPrimaryDark">#263143</item> 

<item name="android:colorAccent">@color/accent</item> 

</style> 

` Но это делает следующие ошибки: Ошибка: Нет ресурсы не найдено, что соответствует данному имени: атр 'colorPrimaryDark'. Как это решить?

+0

Показать файл 'build.gradle' – Aspicas

ответ

1

Вы должны упасть android префикс из android:colorPrimaryDark

<item name="colorPrimaryDark">#263143</item> 

We now use the support implementation of Toolbar/ActionBar on all platforms meaning that we no longer read any android: attributes related to the action bar.

Источник: https://chris.banes.me/2014/10/17/appcompat-v21/#theming

Также Theme.Material доступен только API 21. Если вы хотите работать на более низких APIs, использовать темы AppCompat вместо.

The material theme is only available in Android 5.0 (API level 21) and above. The v7 Support Libraries provide themes with material design styles for some widgets and support for customizing the color palette.

Источник: https://developer.android.com/training/material/theme.html

0

StatusBar не работает на устройствах с уровнем API меньше 21. Если уровень API мин меньше, чем тогда вы должны сделать некоторые изменения в исходном файле Java. Перейдите в исходный файл, к которому вы хотите добавить цвет строки состояния. Затем заверните метод OnCreate() с аннотацией @TargetApi(Build.VERSION_CODES.LOLLIPOP).

Затем внутри метода вы должны проверить, способно или нет устройство, как показано ниже.

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
window.setStatusBarColor(getResources().getColor(R.color.Statusbar)); 
    } 
Смежные вопросы