切换风格

默认Lavender Sky Flowers Wizard Snow Beige California City Dragon Black London Sunset glow Pink Cloud

111

主题

1247

积分

8

精华

用户组 

易积分
2852
热心
0
好评
16
全面屏虚拟按键适配可用适配动态切换 e4a适配[复制链接]
发表于 2019-10-13 11:21:12 | 显示全部楼层 |阅读模式
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  建议先下载免费的测试程序(例程)进行测试再决定是否下载本类库和源码。



关于例程报毒,闪退,问题:有朋友反馈历程报毒,闪退问题,十分抱歉我在写例程的时候不够谨慎 导致出现报毒和闪退,目前已经修复,经过腾讯哈勃扫描,云真机大量机型测,购买过的朋友请重新下载即可,并非类库问题,大家放心使用。




截图.png










补充说明:关于某些机型进入提示全屏显示   将目标sdk版本设置 为 26 即可解决 如果不想适配动态权限,可以添加额外的atcivity属性android:resizeableActivity = "true"


该方案支持android 4.4 至 android 10(真机实测) 请放心使用

测试程序.zip

276.06 KB, 下载次数: 420

测试程序

全面屏虚拟按键适配1.1(1).zip

429.89 KB, 下载次数: 342

售价: 30 易积分  [记录]

类库+源码+教程

评分

参与人数 2易积分 +67 收起 理由
a123321 + 1 直接用你的例子编译的,闪退
易如意 + 66 此处应该有掌声~

查看全部评分

易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

111

主题

1247

积分

8

精华

用户组 

易积分
2852
热心
0
好评
16
发表于 2019-10-14 02:40:41 | 显示全部楼层
本帖最后由 as2557594045 于 2019-10-14 04:57 编辑

非常抱歉出现,例程闪退,报毒的问题,目前已经修复了,购买过的朋友请重新下载并替换掉沉浸,和虚拟按键颜色修改类库即可

补充内容 (2019-10-15 19:12):
非常抱歉昨天修改例程的时候,类库上传错误, 界面绘制监听类库 类库修改时间 为 2019年 10 月15日 为正常可用版本,其他为错误版本,请大家重新下载即可。

补充内容 (2019-10-25 16:14):
例程里在主窗口创建全部窗口的做法只适用小项目,如果窗口过多,推荐做法是在窗口的创建完毕中获取公用模块里面的 当前屏幕可用高度,宽度数据,然后对界面进行布局这样既能解决窗口切换时闪烁问题也可以不浪费资源
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

3

主题

493

积分

0

精华

用户组 

易积分
2405
热心
0
好评
0
发表于 2019-10-13 13:24:50 | 显示全部楼层
进来看看了解一下
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

111

主题

1247

积分

8

精华

用户组 

易积分
2852
热心
0
好评
16
发表于 2019-10-13 13:54:44 来自手机 | 显示全部楼层
没人………………
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

0

主题

68

积分

0

精华

用户组 

易积分
169
热心
0
好评
0
发表于 2019-10-13 13:56:31 | 显示全部楼层
易如意中文编程学习交流论坛有你更精彩~
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

0

主题

124

积分

0

精华

用户组 

易积分
614
热心
0
好评
0
发表于 2019-10-13 20:32:07 | 显示全部楼层
支持,开源
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

11

主题

2127

积分

0

精华

用户组 

易积分
935
热心
0
好评
0

活跃会员

发表于 2019-10-13 20:37:04 | 显示全部楼层
超级沉浸类库闪退
呜呜
回复

使用道具 举报

3

主题

217

积分

0

精华

用户组 

易积分
457
热心
0
好评
1
QQ
发表于 2019-10-13 22:09:30 | 显示全部楼层
进来看看了解一下
言乐
回复

使用道具 举报

4

主题

38

积分

0

精华

用户组 

易积分
90
热心
0
好评
0
发表于 2019-10-13 22:15:48 | 显示全部楼层
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈或或
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

3

主题

217

积分

0

精华

用户组 

易积分
457
热心
0
好评
1
QQ
发表于 2019-10-13 22:16:25 | 显示全部楼层
进来看看了解一下
言乐
回复

使用道具 举报

10

主题

506

积分

0

精华

用户组 

易积分
105
热心
0
好评
1
发表于 2019-10-14 00:40:48 来自手机 | 显示全部楼层
不错,但是不需要,自己会适配,你这太麻烦
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

QQ|sitemap|免责声明|RGB颜色对照表|手机版|小黑屋| 易如意 - E4A中文编程学习交流论坛

GMT+8, 2024-4-24 09:45 , Processed in 0.058941 second(s), 43 queries .

Powered by Discuz! X3.4

© 2001-2018 eruyi.cn

返回顶部