android设置全屏以及解决设置全屏无效的方法

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/KwunYamShan/article/details/73155859

介绍两种设置全屏的方法:

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>

清单文件

这里写图片描述

展开阅读全文

没有更多推荐了,返回首页