因为手机硬件情况的不同,在没有物理Menu键的手机上。ActionBar的overflowbutton会有显示不出来的情况,能够通过反射的方式改动ViewConfiguration类中的sHasPermanentMenuKey静态变量的值永远为false。系统就是依据这个变量值来推断手机有没有物理Menu键,代码例如以下:
@Override  
protected void onCreate(Bundle savedInstanceState) {  
    ……  
    setOverflowShowingAlways();  
}  
private void setOverflowShowingAlways() {  
    try {  
        ViewConfiguration config = ViewConfiguration.get(this);  
        Field menuKeyField = ViewConfiguration.class.getDeclaredField(“sHasPermanentMenuKey”);  
        menuKeyField.setAccessible(true);  
        menuKeyField.setBoolean(config, false);  
    } catch (Exception e) {  
        e.printStackTrace();  
    }  
}  

相关文章:

  • 2021-10-12
  • 2021-09-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-06
  • 2022-12-23
  • 2021-11-19
猜你喜欢
  • 2021-04-20
  • 2021-06-20
  • 2021-07-15
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案