android 自定义 actionbar 菜单,Android之自定义 ActionBar 上的菜单(Menu)文字颜色
本文记录了修改 ActionBar 上 Menu 字体颜色的方法。第一种通过自定义主题实现,第二种通过复写onCreateOptionsMenu实现。自定义Theme 修改MenuItem 文字颜色自定义 ActionBar 上的菜单文字颜色需要通过 Activity 的 Theme 实现,而非 ActionBar 的 Theme。复写onCreateOptionsMenu修改 MenuItem
本文记录了修改 ActionBar 上 Menu 字体颜色的方法。第一种通过自定义主题实现,第二种通过复写onCreateOptionsMenu实现。
自定义Theme 修改MenuItem 文字颜色
自定义 ActionBar 上的菜单文字颜色需要通过 Activity 的 Theme 实现,而非 ActionBar 的 Theme。
复写onCreateOptionsMenu修改 MenuItem 文字颜色
/**
* 修改 ActionBar 上的菜单字体颜色
*/
public static void setMenuItemTextColorToWhite(final Activity activity){
activity.getLayoutInflater().setFactory(new Factory() {
@Override
public View onCreateView(String name, Context context,
AttributeSet attrs) {
if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")
|| name.equalsIgnoreCase("com.android.internal.view.menu.ActionMenuItemView")) {
try {
LayoutInflater f = activity.getLayoutInflater();
final View view = f.createView(name, null, attrs);
System.out.println((view instanceof TextView));
if (view instanceof TextView) {
((TextView) view).setTextColor(Color.WHITE/*这里修改颜色*/);
}
return view;
} catch (InflateException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
return null;
}
});
}
更多推荐
所有评论(0)