Android中全屏显示一般是在styles.xml中定义如下主题:
<style name="AppThemeNoTitle" parent="AppTheme">
<item name="windowNoTitle">true</item>
<!--不添加没影响,但是添加了要注意下面说明的第二点情况-->
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
windowNoTitle
属性是在AppCompatActivity
中出现的
然后在 AndroidManifest.xml
文件中在需要全屏的Activity下添加theme:
<activity
android:name=".base.app.activity.SplashActivity"
android:theme="@style/AppThemeNoTitle">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
如果是设置整个App都全屏的话,将主题设置在 application 标签下。
下面是对几个属性进行参数测试,测试发现:
1、windowActionBar
属性在 AppCompatActivity
中不会生效
2、windowNoTitle
= false
且 windowActionBar
= false
程序报错 :
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
3、windowNoTitle
= false
且 android:windowNoTitle
= false
界面会出现两个标题栏
4、windowNoTitle
= true
且 android:windowNoTitle
= true
无标题栏
如果要去掉最顶部的状态栏,需要再添加
android:windowFullscreen
=true
最终样式