即使使用新的r21 / r22 appcompat库,使用带有低于Android Kitkat的硬件菜单按钮的设备的用户似乎仍然无法获得屏幕上的菜单按钮。
我猜这是由内部ActionBarPolicy
类决定的:
public boolean showsOverflowMenuButton() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
return true;
} else {
return !ViewConfigurationCompat.hasPermanentMenuKey(ViewConfiguration.get(mContext));
}
}
所以强制溢出菜单按钮仅在KitKat及以上版本。
有没有办法强制显示溢出菜单,即使应用程序在带有硬件菜单按钮的KitKat以下的设备上运行?
答案 0 :(得分:0)
在appcomt支持库中,使用您自己的工具栏(从xml中膨胀或从代码中创建)替换默认操作栏(在ActionbarActivity
调用setSupportActionar(toolbar)
中),您是'将看到溢出菜单(如果您已设置菜单)。
在android 2.3.x模拟器上测试。