在Android 4中如何隐藏状态栏:
请帮帮我,谢谢。
在您的问题中显示的条形栏称为系统栏。
在没有硬件按钮的设备上,如果用户输入,则始终会显示系统栏。您可以使用标志SYSTEM_UI_FLAG_HIDE_NAVIGATION调用setSystemUiVisibility并通过Window请求以下窗口功能FLAG_FULLSCREEN。只要用户不与屏幕交互,这样就可以隐藏系统栏并使您的视图全屏。如果用户触摸屏幕,则系统栏将重新出现,以允许用户使用主页和返回软件键。
如果您有一个用户将与之交互的视图,但希望他不受系统栏的干扰,您可以设置SYSTEM_UI_FLAG_LOW_PROFILE标志。这应该会使系统栏变暗,减少干扰。我同意Janusz的说法。在Android 4.0中,你无法获得100%真正的全屏。
使用以下方法来隐藏通知栏(也称状态栏、系统栏):
getWindow().getDecorView().setSystemUiVisibility
(View.SYSTEM_UI_FLAG_LOW_PROFILE);
使用这个来隐藏它
getWindow().getDecorView().setSystemUiVisibility
(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
如果我猜得没错的话,你正在尝试实现“展示模式”。你可以通过一个名为“SureLock”的应用程序获得一些帮助。它可以阻止所有“主页”和“返回”操作。
如果您希望在没有中间“抖动”布局的情况下获得流畅的体验,这里有来自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);
}
你可以将它隐藏起来。只需在OnCreate()方法中使用以下API即可。
requestWindowFeature(Window.FEATURE_NO_TITLE);