用户组 
易积分3753
热心0
好评16
|
e4a框架比较古老了,现在很多机型都是全面屏手机,虚拟按键导航等等,e4a自身的尺寸换算已经不能很好的适配大多数手机了,所以经过一番瞎j8操作有了这个适配方案,本人菜鸟一枚大佬勿喷,如果有错误的地方还望大佬指正。
一.全面屏解决:
1.问题:什么是全面屏呢? 可以理解为异型屏,非 16:9的标准分辨率屏幕,超宽屏,超高屏,目前最多的就是超高屏常见的分辨率 2340x1080 2210x1080.......等等......这些屏幕的手机依靠e4a自带的尺寸换算,就会发现,设计器里面已经占满所以屏幕但是打开APP屏幕上还有空余空间。
2.解决方案;易如意论坛某大佬解决了这个问题,可以使用e4a自带的面板组件通过监听绘制来获取屏幕可用高度,可用宽度,以这个尺寸对UI上所有组件进行重新布局从而适配全面屏。这里给一个易如意论坛连接 仅供参考 https://www.eruyi.cn/forum.php?mod=viewthread&tid=3494&highlight=%E5%85%A8%E9%9D%A2%E5%B1%8F 也可以使用 设置高度属性宽度属性 为 填充父 来进行自适应布局,当然这只是一部分还需要考虑APP图标尺寸等等 推荐将不同分辨率的图标放入R资源对应文件夹内,这样可以让android系统自动选择合适分辨率的图标使用具体方法可参照此篇https://www.cnblogs.com/huihuizhang/p/9473698.html。
二.虚拟按键问题解决:
1.问题: 很多厂商对Android 进行深度定制,都有自己的导航方式,比如虚拟按键,手势导航,这导致许多获取虚拟按键是否存在,虚拟按键高度获取 的方法并不能在所有Android设备上通用,导致app无法知道系统是否存在(开启)虚拟按键(虚拟导航键)从而出现UI异常,UI挡住虚拟按键,UI浸入到虚拟按键中,给用户带来不好的使用体验,使用上面说的面板监听绘制方法可以解决部分机型此问题,但是有部分动态收起弹出的机型依旧会出现异常,如华为-OPPO-锤子-一加-努比亚-夏普 等机型就使用支持虚拟按键动态收起,如果这个时候UI不能自动适配也会给用户带来不好的体验。
2:解决方案就是本方案了解决虚拟按键,全面屏适配问题 ,测试机型 华为-oppo-小米-魅族-锤子-360-黑莓-一加-努比亚-夏普-索尼-联想-谷歌-vivo厂商部分机型暂未发现不适配机型,通过本类库实现监听app view 绘制达到达实时获取屏幕可用高度,宽度 当可用高度改变时(虚拟按键收起或弹出)对ui进行重新布局从而实现适配 详见例程
本方案为 1.1 版本 大幅优化了性能,解决窗口切换时屏幕短暂闪烁的问题,自动返回屏幕可用高度宽度,大幅降低使用面板监听带来的繁琐和性能降低。
问题反馈:请加QQ2557594045
交流群: 970905285
!!!!!!!!!!!!!!!!!!!!!本人小白一只不喜勿喷,如有错误还望大佬指正谢谢!
类库+源码=30积分或 5r 建议先下载免费的测试程序(例程)进行测试再决定是否下载本类库和源码。
关于例程报毒,闪退,问题:有朋友反馈历程报毒,闪退问题,十分抱歉我在写例程的时候不够谨慎 导致出现报毒和闪退,目前已经修复,经过腾讯哈勃扫描,云真机大量机型测,购买过的朋友请重新下载即可,并非类库问题,大家放心使用。
补充说明:关于某些机型进入提示全屏显示 将目标sdk版本设置 为 26 即可解决 如果不想适配动态权限,可以添加额外的atcivity属性android:resizeableActivity = "true"
该方案支持android 4.4 至 android 10(真机实测) 请放心使用
|
评分
-
查看全部评分
|