2014-10-18 4 views
2

В настоящее время я работаю над некоторыми изменениями в своем приложении, чтобы правильно настроить новый Android-Lollipop, который только что был выпущен.Преобразование моей темы приложения в Lollipop

У меня есть следующие в моих styles.xml файлов в каталоге значения-V21

<resources> 

    <!-- Application theme. --> 
    <style name="AppTheme" parent="android:Theme.Material.Light"> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 
     <item name="android:actionBarTabTextStyle">@style/actionBarTabStyle</item> 
     <item name="android:actionMenuTextColor">@color/white</item> 
    </style> 

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse"> 
     <item name="android:background">@color/appPrimaryColour</item> 
    </style> 

    <style name="actionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabText"> 
     <item name="android:textColor">@color/white</item> 
    </style> 

</resources> 

Я изменил тему, но я настроен мое действие бар со следующим за старую тему Холо

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">

и

<style name="actionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabText">

Я не могу найти, что эквивалент будет для Lollipop, я пробовал @android:style/Widget.Material.Light.ActionBar.Solid.Inverse@android:style/Widget.Material.ActionBar.TabText", но потом он говорит, что не может найти ресурсы.

ответ

0

Просто простирается от Theme.Material.Light.DarkActionBar, который настраивает тему панели действий, чтобы указать на Theme.Material (темные) значения для цветов фона и переднего плана. Кроме того, вы должны устанавливать colorPrimary, colorPrimaryDark и colorAccent в свой AppTheme, а не вручную устанавливать цвет фона панели действий.

<style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar"> 
    <item name="android:colorPrimary">@color/appPrimaryColour</item> 
    <item name="android:colorPrimaryDark"> ... </item> 
    <item name="android:colorAccent"> ... </item> 
</style> 
+2

Если вы используете AppCompat, это выглядит примерно так: '<имя стиля = "AppTheme" родитель = "Theme.AppCompat.Light.DarkActionBar"><имя элемента = "colorPrimary"> @ цвет/MyPrimary @ color/MyPrimaryDark @ color/MyColorAccent 'Обратите внимание, что вы избавились от префикса' 'android:' '... и это может быть в вашем регулярном каталоге '/ res/values'/directory - нет необходимости в' values-v21', потому что он подбирается и для более старых версий Android. Во всяком случае, мне все равно нужно работать. – fattire

+1

Я продолжу вышеупомянутый ответ, отметив, что Google просто написал о новых материалах, поддерживаемых в AppCompat: http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre. HTML – fattire

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

  • Нет связанных вопросов^_^