Pregunta Cómo cambiar el tamaño del texto del menú


Había intentado cambiar el estilo de esta manera:

<item name="android:actionMenuTextAppearance">@style/MenuTextStyle</item>
<stylename="MenuTextStyle"parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Menu">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textSize">16sp</item>
</style>

Pero funcionó. Lo siento por mi ingles. Si lo sabes, dime por favor. ¡Gracias de antemano!


5
2018-04-24 09:42


origen


Respuestas:


En el tema base de su aplicación, agregue el siguiente elemento:

<item name="android:actionMenuTextAppearance">@style/customActionBar</item>

Luego define customActionBar de la siguiente manera:

<style name="customActionBar" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Menu">
    <item name="android:textSize">16sp</item>
</style>

7
2018-04-24 09:53



Aquí debe ir a buscar el texto de MenuItems a SpannableStrings en su menú onCreateOptions, cambiar el tamaño del texto en comparación con el predeterminado a través de RelativeSizeSpan. Si desea ingresar el tamaño de fuente absoluto, use AbsoluteSizeSpan, por ejemplo. a 18 ppp = AbsoluteSizeSpan (18, verdadero):

public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater infl = getMenuInflater();
    infl.inflate(R.menu.menu_main, menu);
    for(int i = 0; i < menu.size(); i++) {
        MenuItem item = menu.getItem(i);
    SpannableString spanString = new SpannableString(menu.getItem(i).getTitle().toString());
        int end = spanString.length();
    spanString.setSpan(new RelativeSizeSpan(1.5f), 0, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    item.setTitle(spanString);
}
    return true;
}

3
2017-09-04 14:18