我正在尝试更改Android菜单栏的字体样式,这是所有项目,但我的以下代码未显示对应用程序的任何更改。
JAVA代码 - :
public boolean onCreateOptionsMenu(android.view.Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.custom_menu, menu);
setMenuBackground();
return true;
}
protected void setMenuBackground()
{
getLayoutInflater().setFactory(new Factory()
{
public View onCreateView(String name, final Context context,
AttributeSet attrs)
{
if(name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView"))
{
try
{
LayoutInflater li = LayoutInflater.from(context);
final View view = li.createView(name, null, attrs);
new Handler().post(new Runnable()
{
public void run()
{
view.setBackgroundResource(R.drawable.white);
((TextView) view).setTextSize(20);
Typeface face = Typeface.createFromAsset(getAssets(),"fonts/Arial.ttf");
((TextView) view).setTypeface(face);
((TextView) view).setTextColor(Color.RED);
}
});
return view;
}
catch (InflateException e)
{
}
catch (ClassNotFoundException e)
{
}
}
return null;
}});
}
XML代码 - :
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/abc"
android:orderInCategory="10"
android:showAsAction="always"
android:title="Abc"/>
<item
android:id="@+id/xyz"
android:orderInCategory="10"
android:showAsAction="always"
android:title="XYZ"/>
<item
android:id="@+id/exit"
android:orderInCategory="10"
android:showAsAction="always"
android:title="Andi"/>
这是上面的代码,我想更改所有菜单项的所有字体样式,但我无法做到。
请帮帮我!!!建议我一些好的解决方案。