android actionbar 隐藏menu,android开发之actionbar无法显示overflow menu的解决办法

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

android开发之actionbar无法显示overflow menu的解决办法

今天在开发actionbar的时候,遇到一个奇葩的问题~,就是按照官方的文档创建actionbar的时候。在设置溢出菜单选项的时候,不管我上面有多少菜单项,都无法溢出,最多就是显示出来几个,在网上找了好久,也没有找到好的办法,后来在群里询问,有的人说是因为我设置的showAsAction属性有错误,我设置的是ifRoom|withText,然而我按照他说的改成了never,也是不行。最后不得不去认真的看官方文档,官方文档解释是这样的:The action overflow in the action bar provides access to your app’s less frequently used actions. The overflow icon only appears on phones that have no menu hardware keys. Phones with menu keys display the action overflow when the user presses the key.点击链接

大概意思就是:溢出菜单里面存放些不常用的功能选项,溢出菜单图标只出现在手机硬件没有菜单键的设备上,当用户按下溢出菜单后,溢出菜单会显示出存放的功能选项。

最后找到原因:如果手机上有menu的物理按键,或者虚拟按键的时候,actionbar的overflow menu 默认是不会显示的解决办法是:private void forceShowActionBarOverflowMenu() {

try {

ViewConfiguration config = ViewConfiguration.get(this);

Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");

if (menuKeyField != null) {

menuKeyField.setAccessible(true);

menuKeyField.setBoolean(config, false);

}

} catch (Exception e) {

e.printStackTrace();

}

}

截取上面代码就在onCreate方法中调用,就可以解决overflow menu不显示的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值