Android:将文本颜色、背景和字体大小添加到选项菜单

Android:将文本颜色、背景和字体大小添加到选项菜单,android,font-size,options-menu,textcolor,Android,Font Size,Options Menu,Textcolor,我尝试了很多为我的选项菜单添加字体大小,文本颜色和背景,但无法解决,如何为下面的代码执行此操作?非常感谢帮助。。。。。!,谢谢 @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add("Share In Heart Club!"); menu.add("Play");

我尝试了很多为我的
选项菜单添加
字体大小
文本颜色
背景
,但无法解决,如何为下面的代码执行此操作?非常感谢帮助。。。。。!,谢谢

 @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            super.onCreateOptionsMenu(menu);

        menu.add("Share In Heart Club!");
        menu.add("Play");
        menu.add("Check Your Heart Type?");
        menu.add("Cancel");


        // Return true so that the menu gets displayed.
        return true;
    }

     @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
            // Close the menu after a period of time.
            // Note that this STARTS the timer when the options menu is being
            // prepared, NOT when the menu is made visible.
            Timer timing = new Timer();
            timing.schedule(new TimerTask() {

                @Override
                public void run() {
                    closeOptionsMenu();
                }
            }, 10000);
            return super.onPrepareOptionsMenu(menu);
        }

如果你觉得这个链接有用,请检查它,并投票表决。在Android中,将样式/主题应用到选项菜单并不容易。然而,有一个例子向您展示了如何实现您自己的


设置背景颜色是可能的,但是在2.3上它有很多问题。有关更多信息,请参阅。

1:您只需通过书写即可为文本添加颜色 android:textColor=“#ff00ff” 在文本视图标记中的布局xml中

或者第二种方法是

您可以使用添加颜色
values->string.xml并向字符串添加颜色资源

创建一个带有fav图标和颜色的自定义xml视图。使用
menuinflator
将其充气至选项菜单。

尝试以下代码

@Override
        public boolean onCreateOptionsMenu(android.view.Menu menu) {
            // MenuInflater inflater = getMenuInflater();
            // inflater.inflate(R.menu.menu, menu);
            // setContentView(R.layout.menu);
            menu.clear();
            setMenuBackground();
            menu.add(0, MobilePagesConstant.MenuConstant.MENU_ABOUT, 0,
                    R.string.menu_about).setIcon(R.drawable.ico_about);

            menu.add(0, MobilePagesConstant.MenuConstant.MENU_INDEX, 1,
                    R.string.menu_index).setIcon(R.drawable.ico_help);

            // if (HNHConstant.IS_LAST_LIST_ON == 1) {
            menu.add(0, MobilePagesConstant.MenuConstant.MENU_CUSTOMER_SUPPORT, 2,
                    R.string.menu_customer_support).setIcon(
                    R.drawable.ico_customer_support);

            menu.add(0, MobilePagesConstant.MenuConstant.MENU_LEGAL, 3,
                    R.string.menu_legal).setIcon(R.drawable.ico_moderate);
            menu.add(0, MobilePagesConstant.MenuConstant.MENU_GETTING_STARTED, 0,
                    R.string.menu_getting_started).setIcon(
                    R.drawable.ico_gettingstarted);

            return true;

        }





 private void setMenuBackground() {
            // TODO Auto-generated method stub
            getLayoutInflater().setFactory(new Factory() {

                @Override
                public View onCreateView(final String name, final Context context,
                        final AttributeSet attrs) {

                    if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {

                        try { // Ask our inflater to create the view
                            final LayoutInflater f = getLayoutInflater();
                            final View[] view = new View[1];
                            try {
                                view[0] = f.createView(name, null, attrs);
                            } catch (InflateException e) {
                                chaneDeafultMenu(name, attrs, f, view);
                            }
                            // Kind of apply our own background
                            new Handler().post(new Runnable() {
                                @Override
                                public void run() {

                                    view[0].setBackgroundResource(R.drawable.background);
                                    ((TextView) view[0]).setTextColor(Color.BLACK);
                                    ((TextView) view[0])
                                            .setTypeface(Typeface.SANS_SERIF);
                                }
                            });
                            return view[0];
                        } catch (InflateException e) {
                        } catch (ClassNotFoundException e) {

                        }
                    }
                    return null;
                }
            });
        }

        static void chaneDeafultMenu(final String name,
                final android.util.AttributeSet attrs, final LayoutInflater f,
                final View[] view) {
            // mConstructorArgs[0] is only non-null during a running call to
            // inflate()
            // so we make a call to inflate() and inside that call our dully
            // XmlPullParser get's called
            // and inside that it will work to call
            // "f.createView( name, null, attrs );"!
            try {
                f.inflate(new XmlPullParser() {
                    @Override
                    public int next() throws XmlPullParserException, IOException {
                        try {
                            view[0] = f.createView(name, null, attrs);
                        } catch (InflateException e) {
                        } catch (ClassNotFoundException e) {
                        }
                        throw new XmlPullParserException("exit");
                    }

                    @Override
                    public void defineEntityReplacementText(String arg0, String arg1)
                            throws XmlPullParserException {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public int getAttributeCount() {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public String getAttributeName(int arg0) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getAttributeNamespace(int arg0) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getAttributePrefix(int arg0) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getAttributeType(int arg0) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getAttributeValue(int arg0) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getAttributeValue(String arg0, String arg1) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public int getColumnNumber() {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public int getDepth() {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public int getEventType() throws XmlPullParserException {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public boolean getFeature(String arg0) {
                        // TODO Auto-generated method stub
                        return false;
                    }

                    @Override
                    public String getInputEncoding() {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public int getLineNumber() {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public String getName() {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getNamespace() {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getNamespace(String arg0) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public int getNamespaceCount(int arg0)
                            throws XmlPullParserException {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public String getNamespacePrefix(int arg0)
                            throws XmlPullParserException {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getNamespaceUri(int arg0)
                            throws XmlPullParserException {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getPositionDescription() {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getPrefix() {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public Object getProperty(String arg0) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public String getText() {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public char[] getTextCharacters(int[] arg0) {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public boolean isAttributeDefault(int arg0) {
                        // TODO Auto-generated method stub
                        return false;
                    }

                    @Override
                    public boolean isEmptyElementTag()
                            throws XmlPullParserException {
                        // TODO Auto-generated method stub
                        return false;
                    }

                    @Override
                    public boolean isWhitespace() throws XmlPullParserException {
                        // TODO Auto-generated method stub
                        return false;
                    }

                    @Override
                    public int nextTag() throws XmlPullParserException, IOException {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public String nextText() throws XmlPullParserException,
                            IOException {
                        // TODO Auto-generated method stub
                        return null;
                    }

                    @Override
                    public int nextToken() throws XmlPullParserException,
                            IOException {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public void require(int arg0, String arg1, String arg2)
                            throws XmlPullParserException, IOException {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void setFeature(String arg0, boolean arg1)
                            throws XmlPullParserException {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void setInput(Reader arg0) throws XmlPullParserException {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void setInput(InputStream arg0, String arg1)
                            throws XmlPullParserException {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void setProperty(String arg0, Object arg1)
                            throws XmlPullParserException {
                        // TODO Auto-generated method stub

                    }
                }, null, false);
            } catch (InflateException e1) {
                // "exit" ignored
            }
        }

队长,404错误-找不到!
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    // getMenuInflater().inflate(R.menu.splash_screen, menu);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.payby_menu, menu);
    getLayoutInflater().setFactory(new Factory() {

        @Override
        public View onCreateView(String name, Context context,
                AttributeSet attrs) {

            if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
                try {
                    LayoutInflater f = getLayoutInflater();
                    final View view = f.createView(name, null, attrs);
                    new Handler().post(new Runnable() {
                        public void run() {
                            // set the background drawable
                            // view.setBackgroundResource(R.drawable.my_ac_menu_background);
                            // set the text color
                            ((TextView) view).setTextColor(Color.WHITE);
                        }
                    });
                    return view;
                } catch (InflateException e) {
                } catch (ClassNotFoundException e) {
                }
            }
            return null;

        }
    });
    return super.onCreateOptionsMenu(menu);
}