如何在Android 4中隐藏StatusBar:
请帮帮我。
答案 0 :(得分:6)
问题中图片中显示的栏称为系统栏。
在没有硬件按钮的设备上,如果发生用户输入,将始终显示系统栏。您可以使用标记setSystemUiVisibility来呼叫SYSTEM_UI_FLAG_HIDE_NAVIGATION,并通过FLAG_FULLSCREEN请求以下窗口功能Window。只要用户不与屏幕交互,这应隐藏系统栏并使视图全屏显示。如果用户触摸屏幕,系统栏将重新出现以允许用户使用主页和后退软件键。
如果您有一个用户将与之交互但您希望他不被系统栏分心的视图,您可以设置SYSTEM_UI_FLAG_LOW_PROFILE标记。这应该会使系统条变暗并减少分散注意力。
答案 1 :(得分:5)
我同意Janusz的观点。 Android 4.0中无法获得100%全屏真实。
使用以下方法调暗通知栏(也称为状态栏,系统栏)
getWindow().getDecorView().setSystemUiVisibility
(View.SYSTEM_UI_FLAG_LOW_PROFILE);
用它来隐藏它
getWindow().getDecorView().setSystemUiVisibility
(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
而且,如果我猜对了,你正试图实现“自助服务终端模式”。您可以通过名为“surelock”的应用获得一些帮助。这会阻止所有“主页”和“后退”操作。
答案 2 :(得分:3)
如果您希望在没有中间“jerked”布局的情况下获得顺畅的体验,这里是API级别14的解决方案。
final Window window = getWindow();
if (isFullScreen == true)
{
window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// This flag will prevent the status bar disappearing animation from jerking the content view
window.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
}
else
{
window.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
window.clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
答案 3 :(得分:-3)
你可以隐藏它。只需在OnCreate()方法中使用以下api
requestWindowFeature(Window.FEATURE_NO_TITLE);