0
点赞
收藏
分享

微信扫一扫

【浅尝C++】C++类的6大默认成员函数——构造、析构及拷贝构造函数

项目使用的是这个屏幕适配框架:GitHub - JessYanCoding/AndroidAutoSize: 🔥 A low-cost Android screen adaptation solution (今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案).

最近需要做一个特殊设备的横竖屏切换适配,发现了几个问题:

  1. 从横屏切换为竖屏时,只显示上半屏,下半屏是黑的
  2. 横竖屏切换时,没有重建Activity(AndroidManifest.xml中没有配置应用自行处理横竖屏切换,是让系统重建,但是系统并没有重建)
  3. 横竖屏切换时,onConfigurationChanged中给出的新的配置里面的屏幕方向仍然是横屏(也就是说系统不认为屏幕方向变化,没有重建Activity)

一度认为是固件问题,或者AndroidAutoSize框架问题,因为没有使用AndroidAutoSize的项目,就是好的,不会出现切换后半屏的问题。

最后发现问题原因是resizeableActivity这个属性。

官方文档:

翻译:

就是说跟应用的targetSdkVersion有关,targetSdkVersion小于24的,默认为false,表示该应用没有针对多窗口环境进行适配和优化。

24以上的默认为true。

可能是由于这个机型特殊,横屏切换为竖屏时,采用了多窗口模式,导致下半屏未显示内容。

android:resizeableActivity="true"

加上这个配置后,系统认为我们已针对多窗口做出优化,从而不会自行进入多窗口模式。

举报

相关推荐

0 条评论