Ha habido muchas preguntas sobre el estilo en las barras de acciones, pero las que he encontrado están relacionadas con el diseño de las pestañas o tienen respuestas que no me funcionan.Cómo personalizar los elementos del menú en una barra de acción de Android
La pregunta es realmente bastante simple. Quiero poder cambiar el estilo del texto (incluso solo el color) de los elementos del menú en la barra de acciones.
Y esta pregunta: Style an Action Bar in Android Honeycomb
Desde que he puesto juntos una aplicación de prueba que estoy usando para tratar de obtener los elementos de menú para cambiar. Utiliza todos los valores predeterminados para una aplicación creada en el complemento Eclipse de Android, a excepción de lo siguiente. presentar
estilosA:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:titleTextStyle">@style/MyActionBar.TitleTextStyle</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
</style>
<style name="MyActionBar.TitleTextStyle"
parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#F0F</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">24dip</item>
</style>
<style name="MyActionBar.MenuTextStyle"
parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#F0F</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">24dip</item>
</style>
</resources>
Un menú de la barra de acción:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:showAsAction="always|withText" android:icon="@android:drawable/ic_menu_edit"
android:id="@+id/menu_item1" android:title="menu_item1"></item>
<item android:showAsAction="always|withText" android:icon="@android:drawable/ic_menu_edit"
android:id="@+id/menu_item2" android:title="menu_item2"></item>
</menu>
La actividad principal:
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
/**
* Create the options menu that is shown on the action bar
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
}
La aplicación se compila y ejecuta. El estilo del texto del título de la barra de acción funciona a la perfección (es ese hermoso tono rosado # F0F que he definido). Los elementos del menú no cambian pero aparecen con un estilo predeterminado (holo light).
¿Qué estoy haciendo mal?
gracias, eres genial, – tasomaniac
no funciona para mí :( solo se usa primaryTextColor ... pero esa no es una solución correcta – redestructa
gracias, ¡respuesta perfecta! –