导致这个bug的原因这里就不描述了,网上很多。
看了几篇文章后,有说改style的,有通过反射取消屏幕方向的。
我这个方法更简单,增加一个类就完了,不用改其他代码逻辑。
(应该一看就懂了)
BaseActivity的代码
public abstract class BaseActivity extends AppCompatActivity {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
if(isSetOrientation()) //默认每个activity都设置成竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
super.onCreate(savedInstanceState);
}
protected boolean isSetOrientation() {
return true;
}
}
8.0全屏透明的Activity,继承下面这个类就行了
/**
不想指定方向的Activity,继承这个类就行了
*/
public abstract class BaseFullScreenActivity extends BaseActivity {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected boolean isSetOrientation() {
return false;
}
}
网友评论