为什么Android的导航栏隐藏不了


开发 Android 的时候,用了网上很多方法,都没有办法隐藏屏幕底部的导航栏(Navigation Bar)。后来在研究 AndroidBootstrapTest 的时候,无意中发现 AndroidManifest.xml 文件的 uses-sdk 标签对导航栏的隐藏与否至关重要。在做了隐藏标题栏的设置之后,uses-sdk 标签如果是下面这样设置,则可以正常隐藏导航栏:

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="21" />

如下是以下设置,则隐藏不了:

<uses-sdk android:minSdkVersion="9" />

所以 android:targetSdkVersion 是个很关键的属性,不是可有可无的。

要隐藏标题栏,可先在 values/styles.xml 文件里添加如下样式:


<resources>

<!--

Base application theme, dependent on API level. This theme is replaced

by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

-->

<style name="AppBaseTheme" parent="android:Theme.Light">

<!--

Theme customizations available in newer API levels can go in

res/values-vXX/styles.xml, while customizations related to

backward-compatibility can go here.

-->

</style>

<!-- Application theme. -->

<style name="AppTheme" parent="AppBaseTheme">

<!-- All customizations that are NOT specific to a particular API-level can go here. -->

<item name="android:windowNoTitle">true</item>

</style>

<style name="test_style">

<item name="android:textSize">32sp</item>

</style>

</resources>

然后在 AndroidManifest.xml 文件的 application 标题应用样式:

<application ... android:theme="@style/AppTheme" >...</application>

前一篇:
后一篇:

发表评论