在Android程序设计中,通常来说在Actionbar中在条目过多时会显示三个竖着的小点的菜单,但在实机测试的时候发现并不显示,查找资料并测试之后发现问题所在:如果该机器拥有实体的menu键则不在右侧显示溢出菜单,而改为按menu来生成。这样就不利于统一的界面风格。
我们可以改变系统探测实体menu键的存在与否来改变这个的显示。
菜单显示是根据public boolean hasPermanentMenuKey ()这个方法来判断的。这个方法是获取sHasPermanentMenuKey的boolean值。
解决方法如下:
在onCreate()中加入:
try {
ViewConfiguration mconfig = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(mconfig, false);
}
} catch (Exception ex) {
}
您可能感兴趣的文章:Android左右滑出菜单实例分析android底部菜单栏实现原理与代码Android ListView长按弹出菜单二种实现方式示例Android开发技巧之我的菜单我做主(自定义菜单)Android仿QQ空间底部菜单示例代码基于Android实现点击某个按钮让菜单选项从按钮周围指定位置弹出Android之用PopupWindow实现弹出菜单的方法详解Android仿UC底部菜单栏实现原理与代码Android提高之多级树形菜单的实现方法android 之Spinner下拉菜单实现级联Android动态添加menu菜单的简单方法Android Spinner 下拉菜单的使用Android编程实现仿美团或淘宝的多级分类菜单效果示例【附demo源码下载】