更改选项菜单中菜单项的文本颜色

时间:2013-06-18 06:30:38

标签: android

我正在尝试更改选项菜单中菜单项的文本颜色。 我在这里读到许多类似的问题和答案,说这是不可能的主题和风格,只有通过代码。我也尝试了代码示例,它没有用。

我设法使用这些主题属性更改背景:

@绘制/ menu_hardkey_panel_holo_dark @绘制/ menu_hardkey_panel_holo_dark #FFFFFF #FFFFFF

但我无法改变文字颜色。 我看到一个答案暗示使用android:itemTextAppearance但它没有用。

我正在使用Android 4.0 SDK。

任何帮助都将受到高度赞赏。

谢谢, 吉迪

3 个答案:

答案 0 :(得分:0)

你无法在android API中默认更改它。如果您进行更改,那么它不适用于不同版本的Android设备。

答案 1 :(得分:0)

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.my_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);
}

答案 2 :(得分:0)

我正在使用Kotlin和新的Navigation组件,并且可以通过在主题中添加以下行来更改此设置:

 browser.waitForAngularEnabled(false);
    browser.get(browser.baseUrl);
    browser.sleep(10000);
    browser.findElement(by.id('userID')).sendKeys(browser.params.login.user);
    browser.findElement(by.id('password')).sendKeys(browser.params.login.password);
    browser.findElement(by.name('submitButton')).click();
    browser.waitForAngularEnabled(true);

然后手动更新应用于我的工具栏的主题,如下所示:

<item name="android:actionMenuTextColor">@color/white</item>

区别在于:
enter image description here enter image description here