在Android导航溢出菜单项重叠的问题中,可以尝试以下几种解决方法:
使用Toolbar控件替代ActionBar控件:
设置menu布局的显示方式为“always”:
使用app:actionLayout属性代替app:actionViewClass属性:
在代码中强制设置溢出菜单项的显示方式:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
if (menu instanceof MenuBuilder) {
MenuBuilder m = (MenuBuilder) menu;
m.setOptionalIconsVisible(true);
m.setOverflowIcon(ContextCompat.getDrawable(this, R.drawable.ic_more_vert));
}
return true;
}
使用反射修改溢出菜单项的显示方式:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
try {
Field mOptionalIconsVisible = Menu.class.getDeclaredField("mOptionalIconsVisible");
mOptionalIconsVisible.setAccessible(true);
mOptionalIconsVisible.setBoolean(menu, true);
} catch (Exception e) {
Log.e(TAG, "onMenuOpened...unable to set icons for overflow menu", e);
}
return true;
}
这些方法可以帮助解决Android导航溢出菜单项重叠的问题。请根据具体情况选择合适的方法进行尝试。