在Android软按键中添加Menu键
16lz
2021-01-24
在Android中,有时候没有硬件Menu。于是需要软件Menu。但是默认Google想让你用ActionBar上的Menu。
但是,有时候我们确实需要在在底部的软按键上加Menu。这里提供一种方法,经过测试,可行。
这里,设置Window的属性,要求添加Menu键。
为什么用反射,是因为这个是隐藏的属性。并且,在低版本上,这个属性是不存在的。
另外,软按键的显示,是在SystemUI里面控制的,这里没有详细分析,有时间可以分析一下。
try {
getWindow().addFlags(WindowManager.LayoutParams.class.getField("FLAG_NEEDS_MENU_KEY").getInt(null));
}
catch (NoSuchFieldException e) {
// Ignore since this field won't exist in most versions of Android
LogMi.w(TAG, "cant find field FLAG_NEEDS_MENU_KEY at WindowManager.LayoutParams");
}
catch (IllegalAccessException e) {
Log.w(TAG, "Could not access FLAG_NEEDS_MENU_KEY in addLegacyOverflowButton()", e);
}
来自为知笔记(Wiz)
更多相关文章
- Android(安卓)8.0 系统启动流程之init进程--第二阶段(五)
- ListView控件开发中常见的问题
- EditText仅允许特定类型数据输入
- Android(安卓)音量控制流程分析
- android发送模拟按键消息,出现死锁,timeout的解决方法
- Android手机软键盘enter改为搜索
- Android(安卓)和 target 分析
- android 数据存储之 读写文件
- DataBinding使用教程详解