我一直在搜索如何隐藏Android平板电脑上的状态栏。 我知道除非您使用平板电脑,否则无法这样做。
我的主要痛苦是当我在我的应用程序上写字时,wi-fi部分弹出。
我知道标志View.SYSTEM_UI_FLAG_HIDE_NAVIGATION或SYSTEM_UI_FLAG_LOW_PROFILE 隐藏导航/暗淡导航。
我需要的是: Gallery Application中有一个功能(内置于android中),可让您遍历图像,仅在单次触摸时弹出导航并在单次触摸时隐藏。没有其他手势触发此栏。
我需要一些方法来实现类似的东西。
如果有人能指出我正确的方向,我会非常感激。
详细信息:
平板电脑:三星Galaxy Note 10.1 Android版本:4.1.2
答案 0 :(得分:4)
实际上在包含4个以上Android版本的平板电脑中,无法隐藏它,但您可以尝试像this那样:
SYSTEM_UI_FLAG_LOW_PROFILE标志替换STATUS_BAR_HIDDEN标志。设置时,此标志为系统栏或导航栏启用“低调”模式。导航按钮暗淡,系统栏中的其他元素也隐藏。启用此功能对于创建更加身临其境的游戏而不会分散系统导航按钮非常有用。 / p>
SYSTEM_UI_FLAG_VISIBLE标志替换STATUS_BAR_VISIBLE标志以请求系统栏或导航栏可见。
SYSTEM_UI_FLAG_HIDE_NAVIGATION是一个请求的新标志 导航栏完全隐藏。请注意,这仅适用于 某些手机使用的导航栏(它不会隐藏系统栏 在平板电脑上)。导航栏会在系统返回后立即查看 接收用户输入。因此,此模式主要用于视频 播放或需要整个屏幕但用户的其他情况 输入不是必需的。您可以为系统设置每个标志 条形图和导航栏通过在任何视图上调用setSystemUiVisibility() 在你的活动中。窗口管理器将所有标志组合在一起(或组合在一起) 从窗口中的所有视图开始,并将它们应用到系统UI中 因为你的窗口有输入焦点。当您的窗口失去输入焦点时 (用户导航离开您的应用程序,或出现对话框),您的 旗帜不再有效。同样,如果您从中删除这些视图 视图层次结构,它们的标志不再适用。
我发现的另一个解决方案是像这样处理你的布局视图:
yourView.setSystemUiVisibility(8);
他们说这适用于平板电脑,但我还没有尝试过。
另一个是添加this方法,根据你想要显示的内容传递一个True或False:
void setNavVisibility(boolean visible) {
int newVis = mBaseSystemUiVisibility;
if (!visible) {
newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN;
}
final boolean changed = newVis == getSystemUiVisibility();
// Unschedule any pending event to hide navigation if we are
// changing the visibility, or making the UI visible.
if (changed || visible) {
Handler h = getHandler();
if (h != null) {
h.removeCallbacks(mNavHider);
}
}
// Set the new desired visibility.
setSystemUiVisibility(newVis);
mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE);
mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE);
}