获取视图层级数据
大家都知道页面布局是DOM结构,所以一般只需要提供一个根视图,通过递归就可以遍历出所有的子视图并获取到视图的属性,拿到数据后按照定义的数据结构进行保存即可
文件读写
操作文件需要提供文件名称和路径,为了方便管理,文件放在同一目录下,文件名称以控制器名称命名,如(ZRXXXController)。
解析DSL生成骨架屏
读取数据文件,按照层级结构依次创建view,需要注意的是骨架屏页面无需创建不同类型的视图(Label,Button等按照View来绘制),只需区分出视图样式即可,比如Label显示什么颜色,Button显示什么颜色,普通View显示什么颜色。
可视化调试
直接根据已有的页面生成骨架屏,样式或许无法直接满足需求,此时就需要提供可视化编辑的能力。调试模式下,点击骨架屏中的View,打开调试面板,编辑坐标,大小,颜色,圆角等属性,同时可以隐藏一些不想要的视图。
4、使用
调试完骨架屏并生成数据文件以后就剩下如何使用的问题了,使用之前需要先将数据文件导出放在工程里以便读取(后续考虑通过云端下发),然后解析文件生成骨架屏,控制其展示和隐藏即可
文件导出
找到骨架屏调试用的设备,找到对应APP,点击下载,下载完成后文件右键显示包内容,在对应沙盒目录下即可找到数据文件
5、完整流程
其中云端上传和下发部分暂未实现
三、本方案的优点
1、骨架屏自动生成,设计师无需出骨架屏设计图,省去了APP版本迭代中的维护和沟通成本,开发人员无需为骨架屏单独维护一套UI代码,节省了研发成本 2、单独生成完整骨架屏页面,有效避免了骨架屏侵入业务代码,有效降低了代码耦合度 3、开发阶段提供可视化调试功能,可编辑骨架屏子视图并实时预览编辑效果 4、云端下发骨架屏配置文件,可动态修改线上骨架屏展示样式
四、结语
以上便是骨架屏生成方案的全部内容,目前该方案细节上尚有不完善之处,样式规范和数据结构需不断优化。Over
作者:自如大前端研发中心-服务研发组-吴辉建
招聘信息
自如大前端研发中心招募新同学!
FE/iOS/Android工程师
公司福利有:
- 全额五险一金,并额外购买商业保险
- 免费健身房+年度体检
- 公司附近租房9折优惠
- 每年2次晋升机会
欢迎对技术有执着热爱的你加入我们!简历请投递 zhangxl122@ziroom.com, 或加微信 v-nice-v 详聊!
尾声
如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
这里,笔者分享一份从架构哲学的层面来剖析的视频及资料给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。
Android进阶学习资料库
一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!
大厂面试真题
PS:之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
《2019-2021字节跳动Android面试历年真题解析》
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
oid学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!**