我正在尝试更改选项菜单中菜单项的文本颜色。 我在这里读到许多类似的问题和答案,说这是不可能的主题和风格,只有通过代码。我也尝试了代码示例,它没有用。
我设法使用这些主题属性更改背景:
@绘制/ menu_hardkey_panel_holo_dark @绘制/ menu_hardkey_panel_holo_dark #FFFFFF #FFFFFF
但我无法改变文字颜色。 我看到一个答案暗示使用android:itemTextAppearance但它没有用。
我正在使用Android 4.0 SDK。
任何帮助都将受到高度赞赏。
谢谢, 吉迪
答案 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>