我正在建立自定义image.I通过android源码,我想摆脱android中的底部软键按钮栏,有人可以指示我来源文件更改吗?
答案 0 :(得分:26)
要启用/禁用它们,据我所知您只需编辑build.prop:
qemu.hw.mainkeys=0 (show on screen buttons)
或
qemu.hw.mainkeys=1 (disable on screen buttons)
如果build.prop中不存在该行,请将其添加到底部。
答案 1 :(得分:8)
但是,您无法永久隐藏它:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
此代码会隐藏软键,直到用户与您的应用进行互动。这是故意以这种方式设计的,想象一下,你没有提供退出当前屏幕和隐藏theese键的任何手段,用户将被“困在”单向死胡同。
您可以找到更多here。
答案 2 :(得分:7)
在没有底部导航栏的情况下拍摄屏幕截图的最简单方法是使用模拟器(AVD)并编辑其配置文件。
转到.android / avd / virtual-device.avd
然后编辑config.ini:
table
两者都应设为“是”
为了能够再次看到该栏,请将它们设置为“否”。
答案 3 :(得分:5)
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 lv超过19。
答案 4 :(得分:4)
除了Aykut Burak SAFAK上面的回答,你可以将他的代码放在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);
}
答案 5 :(得分:3)
随着三星推出新的SureLock,可以禁用或隐藏Bottom Bar而无需设备生根。您所要做的就是为三星安装SureLock Lockdown并按照以下站点中提到的步骤进行操作
查看以下链接。它可以帮助您理解它。
http://www.42gears.com/blog/2012/02/disable-bottom-bar-in-android-honeycomb-tablets-with-surelock/
答案 6 :(得分:1)
如果您只想让导航栏(按钮栏)分散注意力,请尝试youractivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)
答案 7 :(得分:0)
我认为这是可能的
隐藏软键尝试getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
,但它不适用于平板电脑4 +。
答案 8 :(得分:0)
是的,你可以在你的活动中使用它:
@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);}
}
答案 9 :(得分:0)
如果隐藏导航栏,是否可以将控件扩展到屏幕底部?我有一个ImageView,其高度设置为match_parent,但是缺少的导航栏留下了一个黑色矩形。
答案 10 :(得分:0)
对于 30 级
window.decorView.windowInsetsController?.hide(android.view.WindowInsets.Type.statusBars())
低于 30
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN