解决横竖屏切换导致自定义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()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BaronTalk

Android WebView那些坑之上传文件

最近公司项目需要在WebView上调用手机系统相册来上传图片,开发过程中发现在很多机器上无法正常唤起系统相册来选择图片。 解决问题之前我们先来说说WebVie...

3736
来自专栏瓜大三哥

AXI Bridge 和AXI Interconnect

AXI bridge 可以转接PCIe总线提供AXI4嵌入式系统和PCIe系统。 ? 它包括内存从AXI4映射到AXI4-Stream桥和AXI4-Stre...

9357
来自专栏白驹过隙

ACE - 代码层次及Socket封装

3277
来自专栏蜉蝣禅修之道

android之转屏设置

1152
来自专栏游戏杂谈

as3翻牌动画

----------------------------------------------------

1242
来自专栏乐沙弥的世界

Oracle RAC failover 测试(Server TAF方式)

    Oracle RAC中,除了基于客户端的TAF方式之外,还有基于服务器端的TAF方式,可以把服务端的TAF方式看作是客户端TAF方式的一个升级版吧。服务...

1093
来自专栏wOw的Android小站

[Android][Framework] 无障碍快捷方式相关代码

问题:无障碍快捷方式(Accessibility Shortcut)打开不生效。

2961
来自专栏上善若水

L013编译定制busybox for android

由于项目需要,需要定制裁剪busybox在android 平台使用 这里使用ubuntu 作为主机进行编译

1585
来自专栏Java与Android技术栈

用kotlin来实现dsl风格的编程

Anko 是一个 DSL (Domain-Specific Language), 它是JetBrains出品的,用 Kotlin 开发的安卓框架。它主要的目的是...

982
来自专栏白驹过隙

ACE - 代码层次及Socket封装

原文出自http://www.cnblogs.com/binchen-china,禁止转载。

861

扫码关注云+社区

领取腾讯云代金券