2013-12-19 70 views
1

我将此代码添加到我的应用程序;如何在Android应用程序代码中隐藏导航栏

View decorView = getWindow().getDecorView(); 
// Hide both the navigation bar and the status bar. 
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions); 

但代码迫使我要加上“SuppressLint NewApi到MainActivity”。也有一个错误关于“View.SYSTEM_UI_FLAG_FULLSCREEN”。代码说:“改变成....”所以我必须做我不不知道。

请帮助我。谢谢很多。

+0

https://developer.android.com/training/system-ui/navigation.html –

+0

我看着这个培训,但它并没有帮助。 – user3041263

+0

你的目标Api是什么? –

回答

0

您使用的代码是API 14级或更高,喜欢的文档中描述here

SuppressLint NewApi to MainActivity是因为很可能你的目标API级别(或您的minTarget)小于14

而且因为这post说,你不能隐藏导航栏

编辑:

设置你的android:minSdkVersion="14" 的这是一个限制:如果您使用的设备没有传统的硬件按键(后退,首页,菜单),则无法隐藏导航栏。

+0

我是新的android.How我可以找到我的Api Level.I只知道我的设备版本是4.0.4 – user3041263

+0

打开你的'AndroidManifest.xml '将有关TargetVersion的行标记为''标签。 – MikeKeepsOnShine

+0

<使用-SDK 安卓的minSdkVersion = “8” 机器人:targetSdkVersion = “15”/> – user3041263

0

这是我要做的事 - 隐藏标题,并使其全屏:

// requesting to turn the title OFF 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     // making it full screen 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

我也有这个在我AndroidManifest下应用:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

我应该注意到这个minSDK版本13和目标19(4.4 KitKat)

2

对于API级别19:

除了设置全屏标志,我也不得不加入下面隐藏软键:

View decorView = getWindow().getDecorView(); 
// Hide both the navigation bar and the status bar. 
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as 
// a general rule, you should design your app to hide the status bar whenever you 
// hide the navigation bar. 
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions); 

https://developer.android.com/training/system-ui/navigation.html

您还可以设置粘滞浸泡如下所述: https://developer.android.com/training/system-ui/immersive.html

0

我是一个非常新手的开发者,但是我发现我的解决方案是改变主题,并围绕任何“... NoActionBar”主题创建主题。 我还没有弄清楚如何构建主题或修改样式,但是我认为这可能是最有效的方法来摆脱顶部的操作栏。 虽然它不会让你进入全屏模式。那我相信你必须以编程方式做。

<resources> 
<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="android:windowNoTitle">true</item> 
</style> 
<resources/> 

另外,如果你想了解更多有关的主题,这似乎是一个好去处:https://brainflush.wordpress.com/2009/03/15/understanding-android-themes-and-styles/

0

这里是简单的代码隐藏在活动导航栏。这是工作。

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);