我正在构建自定义映像。浏览安卓源代码时,我想要移除安卓底部的软键盘按钮栏,有人可以请指导我该更改哪个源文件吗?
我正在构建自定义映像。浏览安卓源代码时,我想要移除安卓底部的软键盘按钮栏,有人可以请指导我该更改哪个源文件吗?
据我所知,要启用/禁用它们,您只需编辑build.prop文件:
qemu.hw.mainkeys=0 (show on screen buttons)
或者qemu.hw.mainkeys=1 (disable on screen buttons)
如果您的build.prop中没有该行,请在底部添加它。
最简单的方法是使用模拟器(AVD)并编辑其配置文件来截取没有底部导航栏的屏幕截图。
前往 .android/avd/virtual-device.avd
然后编辑config.ini文件:
hw.mainKeys=yes
hw.keyboard=yes
两者都应该设置为“是”
为了能够再次看到该栏,请将它们设置为“否”。
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
在onCreate方法中使用此代码。但是这需要API级别超过19。
你无法永久地隐藏它,但是:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
这段代码可以在用户与您的应用程序进行交互之前隐藏软键。这是有意设计的,想象一下,如果您不提供任何退出当前屏幕并隐藏这些按键的方法,用户将被“困”在单向死胡同中。
您可以在此处找到更多信息。
onWindowFocusChanged
事件中,以确保每当Activity
获得焦点(例如解锁后),它都会保持全屏状态而没有软键盘。@Override
public void onWindowFocusChanged(boolean hasFocus){
super.onWindowFocusChanged(hasFocus);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
引入新的SureLock for Samsung后,无需对设备进行root操作即可禁用或隐藏底部栏。您只需安装SureLock Lockdown for Samsung并按照以下网站中提到的步骤执行即可。
请查看以下链接。它可能会帮助您理解。
http://www.42gears.com/blog/2012/02/disable-bottom-bar-in-android-honeycomb-tablets-with-surelock/
youractivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)
。你可以在你的活动中使用以下代码:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}
}