Android

来源:互联网 发布:win10网络连接不上 编辑:程序博客网 时间:2024/06/04 20:14

唠叨

目前在开发中使用的都是 appcompat-v7 下的各个兼容空间,当然也包括 AppCompatActivity ,当 activity 继承自 AppCompatActivity 的时候,使用的主题必须也是 Theme.AppCompat 开头的主题样式,不然报下面错误:

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)                                                                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2365)...Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity                                                                         atandroid.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359) atandroid.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328) ...

错误原因已经很明确了,说了使用AppCompatActivity 主题必须使用 Theme.AppCompat theme ;

好吧,我说多了,下面进入全屏实现:

动态实现

动态实现适合不管你使用的是普通的Activity还是兼容包的AppCompatActivity , 均可以使用;

这里写图片描述

比如:

public class WelActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        // 无 title        requestWindowFeature(Window.FEATURE_NO_TITLE);          getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                WindowManager.LayoutParams.FLAG_FULLSCREEN);         // set view        setContentView(R.layout.activity_wel);    }

静态实现

说白了,就是在 AndroidManifest.xml 中配置的时候,配置 全屏 theme

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

这里写图片描述

但这只适合继承普通Activity的使用,上面已经说了,使用AppCompatActivity 主题必须使用 Theme.AppCompat theme ;

如果你使用了AppCompatActivity 就使用 动态实现的方式吧!

0 0
原创粉丝点击