解决横竖屏切换导致自定义View切换Fragment失败

问题:

  自定义的BottomSelectView,在切换横竖屏后,底部选择器点击后Fragment不切换,失去效果。

解决办法:

在manifest中设置该Activity的configChanges为

android:configChanges="screenSize|keyboardHidden|orientation",

这样当横竖屏切换时,Activity的状态也没有改变。

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

横竖屏知识:

// 设置横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//设置竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  /**
   *系统中定义: int ORIENTATION_PORTRAIT = 1;  竖屏
   *系统中定义: int ORIENTATION_LANDSCAPE = 2; 横屏
   */
//获取屏幕的方向  ,数值1表示竖屏,数值2表示横屏
 int screenNum = getResources().getConfiguration().orientation;
//横竖屏切换的生命周期
onPause()
onSaveInstanceState(Bundle outState)
onStop()
onDestory()
onCreate()
onStart()
onResume()

End

笔者的Github Blog,希望各位大大提意见,点个star,谢谢
传送门:WusyBlog

求互粉互赞,互赞所有文章可以私聊我。哈哈,希望我们的原创文章能让更多朋友看到,一起变强。

笔者新开通了微信公众号——饮水思源|wusy 计划持续运营,每日为您分享Android干货、原创文章。微信扫描下方的二维码关注我,开发学习路上不迷路。谢谢各位


饮水思源|wusy.jpg

你可能感兴趣的:(解决横竖屏切换导致自定义View切换Fragment失败)