**
android 暗黑模式与GSYVideoPlayer横竖屏切换冲突问题
最近项目中遇到暗黑模式时GSYVideoPlayer 总是点全屏的时候自动就回去了,也找不到任何错误,经过反复的测试是因为暗黑模式有三种模式
-
AppCompatDelegate.MODE_NIGHT_AUTO,他会时刻知道你最后的位置和 时间(如果您的应用程序已开启位置权限)用于白天和黑夜之间自动切换的 依据
-
AppCompatDelegate.MODE_NIGHT_NO强制设定了从不使用夜晚主题。
-
AppCompatDelegate.MODE_NIGHT_YES则强制设定了一直使用夜晚主题。
设置成自动切换的时候完全没有问题,但是使用AppCompatDelegate.MODE_NIGHT_NO AppCompatDelegate.MODE_NIGHT_YES
把系统当前的暗黑模式直接切换会发生播放器无法全屏的情况
因为这两种情况直接设置系统是不需要recreate的 只有跟随系统的时候需要重新recreate基类,
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == mOrientation) {
int currentNightMode = newConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK;
switch (currentNightMode) {
case Configuration.UI_MODE_NIGHT_NO:case Configuration.UI_MODE_NIGHT_YES: if( UserInfoCache.getModeType()==0) { recreate(); } break; }
}
}
在receate之前一定要判断好是不是跟随系统切换 ,设置完成之后播放器就没有问题了!
-