为什么菜单项代码的Android自定义字体更改不起作用?

时间:2014-02-24 21:13:43

标签: android fonts menuitem typeface

我正在尝试更改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"/>

这是上面的代码,我想更改所有菜单项的所有字体样式,但我无法做到。

请帮帮我!!!建议我一些好的解决方案。

0 个答案:

没有答案