第一步:修改menu/main.xml
第二步:修改values-14v/styles.xml,改变menu actionBar的样式
第三步:在mainActivity中添加一个方法,该方法的作用是动态强制修改menu actionbar的默认状态,之后在onCreate()中调用。
private void setOverflowButtonAlways()
{
try
{
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKey = ViewConfiguration.class
.getDeclaredField("sHasPermanentMenuKey");
menuKey.setAccessible(true);
menuKey.setBoolean(config, false);
} catch (Exception e)
{
e.printStackTrace();
}
}
第四步:重写onMenuOpened(int featureId, Menu menu),强制修改meun,使显示图片item
@Override
public boolean onMenuOpened(int featureId, Menu menu)
{
if (featureId == Window.FEATURE_ACTION_BAR && menu != null)
{
if (menu.getClass().getSimpleName().equals("MenuBuilder"))
{
try
{
Method m = menu.getClass().getDeclaredMethod(
"setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu, true);
} catch (Exception e)
{
e.printStackTrace();
}
}
}
ps:整理来自慕课网大神hyman的微信6.0视频课程。