我正在使用Android ICS的启动器,但我的平板电脑有问题。
我无法隐藏状态栏。我在Android 2.3.X中尝试过它没关系。该问题仅出现在Android 4.0中。
我该如何隐藏它?
答案 0 :(得分:11)
您无法在Android 4.0中获得100%真实全屏。
使用以下方法调暗通知栏(也称为状态栏,系统栏)
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
用它来隐藏它
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
而且,如果我猜对了,你正试图实现“自助服务终端模式”。您可以通过名为“surelock”的应用获得一些帮助。这会阻止所有“主页”和“后退”操作。
它仍然不完美,但这可能是我们用Android ICS所能达到的最佳效果。
答案 1 :(得分:7)
可以在root用户设备上隐藏状态栏。程序Hidebar通过终止systemui进程来完成此任务。该程序是开源的,因此您可以在source code。
中阅读所有相关内容答案 2 :(得分:5)
你无法摆脱平板电脑上的系统栏。您可以能够摆脱手机上的导航栏和状态栏。请阅读the Android 4.0 SDK release notes的“系统UI可见性控件”部分。
答案 3 :(得分:4)
我知道我的答案有点迟了,但是在收集了来自不同地方的信息之后,我想出了这个,它仅适用于根设备:
private void KillStatusBar()
{
Process proc = null;
String ProcID = "79"; //HONEYCOMB AND OLDER
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
ProcID = "42"; //ICS AND NEWER
}
try {
proc = Runtime
.getRuntime()
.exec(new String[] { "su", "-c",
"service call activity "+ProcID+" s16 com.android.systemui" });
} catch (IOException e) {
Log.w(TAG,"Failed to kill task bar (1).");
e.printStackTrace();
}
try {
proc.waitFor();
} catch (InterruptedException e) {
Log.w(TAG,"Failed to kill task bar (2).");
e.printStackTrace();
}
}
这应该消除任何有根设备上的底栏并将其转换为“kiosk”模式。
答案 4 :(得分:1)
要在android 4.0中隐藏状态栏和导航栏,我们应该使用以下代码:
LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
layout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
答案 5 :(得分:1)
以ppareit的答案为基础。
您无法隐藏大多数库存设备上的导航栏。但是,如果您可以选择生根设备,则可以解决此问题。以下是一个解决方案的步骤:
Install and run Busybox (required for taking full advantage of rooted device)
在HideBar中有一个选项可以在“Kiosk”模式下运行,在该模式下无法重新显示导航栏。不用说,你确实需要小心这个。