美文网首页
Android适配双面屏手机

Android适配双面屏手机

作者: Little_Mango | 来源:发表于2018-11-30 18:37 被阅读108次

    努比亚X是双面屏了,VIVO下个月也要发布一款双面屏手机,两个屏幕宽度应该是一致的,高度有所不同,背屏的高度会比主屏小一些,因此需要进行必要的尺寸适配。

    如果什么都不做,那么Activity会自动销毁重建,也谈不上适配了,

    所以我们需要配置ActivityconfigChanges属性,并且重写onConfigurationChanged方法,让其处理screenSize改变,完成相应的适配。

    总体上有两点需要适配:

    1. 资源文件(图片、尺寸)

    2. 依赖屏幕宽高的控件需要在切屏的时候更新依赖数据

    以上内容详细可以参考双屏第三方应用自由切换适配指导意见

    适配完毕之后,我们可以通过来如下命令,模拟主屏和副屏切换动作。

    adb shell wm size 1080x2340
    adb shell wm size 1080x1920
    

    可能遇到的问题

    1. 上面的命令需要root权限。

    2. 如果没有root的手机,那么可以用模拟器。

    3. 如果APP只支持armeabi,那么市面上的模拟器都安装不了。

    4. 切屏的时候发现Activity销毁重建了。

    针对上面第3点,有以下两种解决方案:
    1. 如何让Genymotion支持Armeabi

    2. 将gradle下面的abiFilters "armeabi"删除,测试完毕之后再补上。

    第一种解决方案我试了之后发现有些第三方SDK在loadLibrary的时候报找不到so的异常。

    第二种解决方案我试了一下,没发现闪退问题,可以完成测试。

    因此推荐顺序为:root手机 > 方案二 > 方案一

    至于第4点,有以下解决方案:

    我是在尝试适配努比亚X的时候出现的问题,努比亚的主屏是1080x2280、副屏是720x1520,系统认为这两种屏幕之间的切换是属于屏幕的物理大小改变了,因此我们还需要增加一个flag:smallestScreenSize。如果以后有新出的双面屏像素密度都发生变化了,那么我们就再加一个density

    相关文章

      网友评论

          本文标题:Android适配双面屏手机

          本文链接:https://www.haomeiwen.com/subject/boxkcqtx.html