Android 8.0采坑心得

Only fullscreen opaque activities can request orientation

今天本来打算在研究的GSYVideoPlayer播放器上加一点新功能,结果点击全屏播放的时候直接给我crash了。然后再网上查了一下,原来是Android8.0版本的一些修改。如果是透明的Activity,则不能固定它的方向,因为它的方向其实是依赖其父Activity的(因为透明)。

这里附上几种查阅资料后总结的方法。

方法一:

1.找到你设置透明的Activity,然后在他的theme中将android:windowIsTranslucent改为false

eg:false

2.再加入true就搞定了。

作者:李晓通    链接:https://www.jianshu.com/p/d0d907754603

方法二:

//8.1不能使用透明主题

 if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES. O) {

this.setTheme(R.style.A);//不透明

        }else {

this.setTheme(R.style.B);//透明主题

        }

如果使用该方法:

1.设置主题代码放在  onCreate方法中的

super.onCreate(savedInstanceState);

设置主题代码(setTheme)

setContentView(R.layout.activity);

https://www.jishux.com/p/7a230406d27bcd4b

方法三:

可以参考https://blog.csdn.net/starry_eve/article/details/82777160

这位大佬的方法我没有使用,因为我的视频全屏效果没有得到解决。只是解决了crash问题。

你可能感兴趣的:(Android 8.0采坑心得)