在Android系统中,界面中所有能看到的元素都是View,所有的UI元素都是View的子类,Android官方为开发者提供了许多丰富的UI控件。
一个Android工程师是否高级,最直观的就是看他做的UI高不高级。
很多Android开发接到产品的UI需求之后,第一反应就是先回忆在哪里见过这个效果,然后照抄大型app代码。但由于不懂原理,很容易出现各种问题。
真正高级的工程师也会使用别人的代码,但是往往能够根据产品的UI效果去完全自定义这个效果,同时也能够解决api使用不当而产生的显示问题。
酷不酷炫?想不想拥有?
要做出高级感的UI,自定义View那你是必须掌握的。
/ 自定义View /
自定义View就是通过继承View或者View的子类,并在新的类里面实现相应的处理逻辑(重写相应的方法),以达到自己想要的效果。
Android View体系
/ 为什么要自定义View /
产品经理经常会把拿着别人的产品效果说,ios这个效果不错,我们也要实现!
Android系统为开发者提供了很多控件,但是系统内置的View无法实现我们的业务需求,这时候就需要我们自定义View。
自定义View其实并不难,为什么呢?因为自定义View无非就是显示+交互:显示由onMeasure->onLayout->onDraw的整个流程就将显示整个流程处理完了,而交互则是touch事件的处理;另外其他的一切你比如Canvas,Animation,Paint都是围绕着draw来进行的,所以我们需要搞懂其中的根本原理。
/ Fragment 懒加载 /
Feed 流应用作为APP最常见的信息展示方式,被广泛应用之后,Fragment 懒加载也成了Android开发必知必会的技术。我们学习的时候,常见的都是一层Activity+ViewPager的UI层次,但是随着产品页面越来越复杂,应用首页的页面外层是一个ViewPager内部可能还嵌套着一层ViewPager,这就难倒了很多Android开发者。
/ UI卡顿 /
我们开发的应用经常会发生UI卡顿。很多人看到卡顿可能就认为是渲染的问题,其实不一定,因为这有可能是算法和JVM带来的问题。那我们该如何排查改进呢?
为了解决大家零散学习高级UI过程中产生的各种问题,早日进阶成为高级安卓工程师,我们特邀前三星/小米高级研发经理Alvin老师为大家带来《高级UI》系列直播课程,在线实时答疑,有疑问,当场解决。
从自定义谈起,实现一个京东自定义ViewGroup;
系统研究FrameLayout与ViewPager的源码;
通过源码发现ViewPager设计过程中的几个问题,解决使用不当带来的显示问题和性能问题;
原价199元,本公众号粉丝专享限时优惠0.1元
Alvin老师:
前三星/小米技术总监,华南理工大学软件工程硕士,国内首批Android底层技术导航人;
专精领域:精通Android FrameWork源码及性能优化;三星手机Rom核心架构设计,专注NDK底层设计与开发。
课程大纲
9.22 手把手实战自定义京东流式布局ViewGroup
ViewGroup中measure的原理;
ViewGroup中Layout的一般套路;
MeasureSpec是什么?有什么用?
手写京东流式布局ViewGroup实战;
9.23 ViewPager为例的ViewGroup源码解析
LayoutInflater 解析XML文件的原理;
ViewPager绘制的基本流程;
基于ViewPager自定义自动滑动Banner;
如何通过阅读源码解决疑难UI bug?
9.24 ViewPager嵌套Fragment UI架构性能优化
ViewPager +Fragment 如何管理生命周期;
ViewPager 嵌套Fragment的缓存机制;
ViewPager 卡顿性能优化;
▲附赠一份379页的Android架构进阶、视频资料,包含:
(包含腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中高级安卓技术点。希望可以助你面试更加顺利!)
添加肉兰小姐姐即可领取
如扫码受限,可搜索微信号:xxktvv186
“UI不好,工作难保呀~~~”
推荐阅读: