Android: Definiendo el estilo de la barra de acción para un dispositivo que ejecuta Kitkat
-
21-12-2019 - |
Pregunta
Estoy definiendo los estilos de la barra de acción para un dispositivo Android que se ejecuta 4.4.2.He probado los estilos en un dispositivo que ejecuta 4.3 y ellos trabajan prefectamente.Sin embargo, el teléfono ejecutando Kitkat se niega a aplicar cualquiera de las reglas definidas por el estilo.He definido el mismo tema en las tres carpetas: valores, valores-11 y valores-14.
<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<!-- Setting values in the android namespace affects API levels 14+ -->
<item name="android:actionBarStyle">@style/MyStyledActionBar</item>
</style>
<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<!-- Setting values in the android namespace affects API levels 14+ -->
<item name="android:background">@drawable/oc_actionbar_background</item>
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBarMenuText</item>
<item name="android:actionMenuTextColor">@style/MyActionBarMenuText</item>
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverFlow</item>
<item name="android:displayOptions">showHome</item>
</style>
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">#696969</item>
</style>
<style name="MyActionBarMenuText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Menu">
<item name="android:textColor">#696969</item>
</style>
<style name="MyActionButtonOverFlow" parent="@style/Widget.AppCompat.Light.Base.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_search</item>
</style>
También he añadido
android:theme="@style/AppTheme"
a la etiqueta de aplicación manifiesta.Pero los estilos todavía no se aplican.Sin embargo, he logrado cambiar las propiedades de la barra de acción en tiempo de ejecución (cambiando el color), pero esa no es una forma deseable de manejar tales problemas.
Si alguien podría aconsejarme al respecto, estaría más agradecido.
Solución
Para evitar este tipo de temas, me gusta usar la siguiente herramienta para generar el estilo para mí: >http://jgilfelt.github.io/android-actionBarstyleGenerator/
Herramienta fácil de usar que genera el estilo al igual que lo quiero.Podría ayudarte también, ya que evitas estos problemas.Simplemente pegue esto en su proyecto, y ya ha terminado.
Otras herramientas se pueden encontrar aquí: http://romannurik.github.io/androidassetstudio/index.html