介绍两种设置全屏的方法:
1. 清单文件中配置:
表示去掉标题栏
android:theme="@android:style/Theme.Black.NoTitleBar"
不仅标题栏可以去掉, 状态栏也可以去掉
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
为整个应用配置全屏显示
<application android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
2.代码中配置
这种方法有个弊端,就是在设置全屏的这个activity刚出现时,title会闪现一下再消失,也就是需要执行到设置全屏的代码的时候才会完全有效。所以建议使用第一种做法!
在onCreate方法中的setContentView调用前添加
requestWindowFeature(Window.FEATURE_NO_TITLE);// 去标题栏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉Activity上面的状态栏
注意: 设置全屏的代码方法 需要在 setContentView() 之前调用.
##可能有人发现继承AppCompatActivity后用上面的两种方法设置, 第一种会报错、第二种不会生效。
报错如下:
java.lang.RuntimeException: Unable to start activity ComponentInfo{***你的包名***.MainActivity}:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
是的上面的两种方法是继承Activity时设置全屏的方法,而继承AppCompatActivity的解决方法是用主题的形式设置全屏。方法如下:
定义一个style , 在清单文件中引用这个style
<style name="Theme.AppStartLoad" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
清单文件