你如何删除Android上的导航栏?

时间:2012-03-19 15:29:55

标签: android

当我在Galaxy Nexus上全景播放YouTube全景视频时,右侧的导航栏会在几秒后消失(包含"后退""主页&# 34;以及"最近的应用程序"按钮)。

当用户在我的应用中观看视频时,我想做同样的事情。隐藏导航栏的代码是什么?


[更新]这是我要隐藏的栏。不是标题栏,也不是操作栏。导航栏。 (包含"后退","主页"以及"最近的应用"按钮的栏。我也不想"昏暗"按钮。我正在考虑完全删除该栏(就像YouTube应用在横向模式下制作全屏视频时所做的那样)

enter image description here

8 个答案:

答案 0 :(得分:4)

使用:

view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

答案 1 :(得分:3)

我的最后一个信息是您可以使用黑色胶带覆盖它。这是Chet Haase给出的建议。从53分钟开始观看this google IO 2011 session Q&A

Youtube应用也会将其调暗,而不是删除它。它被称为熄灯模式。

View v = findViewById(R.id.view_id);
v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);

答案 2 :(得分:1)

可以在视图上使用

SYSTEM_UI_FLAG_HIDE_NAVIGATION标记隐藏导航​​栏,直到用户互动为止, Android API 14开始。

您应该查看herehere

答案 3 :(得分:0)

ActionBar actionBar = getActionBar();
actionBar.hide();

这样就可以了。另请参阅HoneycombGallery示例,该示例演示了此工作。

答案 4 :(得分:0)

我使用此代码隐藏导航栏,它对我来说非常适合

View v = this.getWindow().getDecorView();

v.setSystemUiVisibility(View.INVISIBLE);

答案 5 :(得分:0)

此代码将隐藏导航栏,直到您从状态栏向下滑动。这与Jetpack Joyride使用的方法相同:

View decorView = getWindow().getDecorView(); 
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);

您还必须在XML文件的activity部分中包含此内容:

android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"

答案 6 :(得分:0)

您应该在onResume()

中设置系统Ui可见性
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

如果您不设置它,将在触摸屏出现时再次看到粘性条

答案 7 :(得分:0)

使用

View view = this.getWindow().getDecorView();
view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);