android开发中,强制显示overflow menu的方法

本文介绍了一种在Android应用中强制显示ActionBar Overflow菜单的方法。通过反射机制修改ViewConfiguration的sHasPermanentMenuKey字段,使应用即使在没有菜单键的设备上也能正常显示Overflow菜单。

  /**
      * 强制显示 overflow menu
      */ 
     private void forceShowActionBarOverflowMenu() { 
         ViewConfiguration config = ViewConfiguration.get(this); 
   Field menuKeyField = null;
   try {
    menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
   } catch (NoSuchFieldException e1) {
    e1.printStackTrace();
   } 
   if (menuKeyField != null) { 
       menuKeyField.setAccessible(true); 
       try {
     menuKeyField.setBoolean(config, false);
    } catch (IllegalAccessException e) {
     e.printStackTrace();
    } catch (IllegalArgumentException e) {
     e.printStackTrace();
    } 
   }  

 

在onCreate方法中调用该方法即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值