什么是自定义View自定义 View 就是通过继承 View 或者 View 的子类,并在继承的类里面实现自定义的处理逻辑(重写相应的方法),以达到自己想要的效果。
为什么要自定义View
让界面有特定的显示效果、交互
优化布局(减少布局层次)
封装
如何自定义View自定义View主要流程
测量阶段 measure
布局阶段 layout
...
阅读全文
一、简述 View的工作流程主要是指measure、layout、draw这三大流程,即测量、布局、绘制。measure确定View的测量宽高;layout确定View的最终宽高和四个顶点的位置;draw则将View绘制到屏幕上。
二、measure过程1. View的measure过程 由measure()方法来完成,measure()方法是final类型的方法,因此不能被重写。而measure方法会去调用onMeasure()方法,因此只需要看onMeasure()的实现即可。具体可以参看上一节相关内容。
阅读全文
一、简述 自定义View是Android进阶之路不可避免的难关。此刻下定决心攻克这个难关,以此为证。在学习绘制自定义View之前先来思考一下系统是如何绘制出这些View的。 推荐《Android群英传》、《Android开发艺术探索》这两本书,本系列文中很多都来源于这两本的阐述。
二、View的测量 设想这么一个游戏:一个人蒙着眼睛,另一个人通过说话来指示蒙着眼睛的人去画他想画图案。比如你会指导他在画板左上角水平竖直都为10厘米处开始画一个边长为10厘米的正方形,那么他大致就能画准确。而如果你只告诉他画一个矩形,那么他就画不准确了。事实上,Android就是那个蒙着眼睛的人,我们需要细致地高速他怎么绘制。 生活中,画一个图形必须知道他的大小和位置。同样,Android系统在绘制View前也必须对View进行测量,即告诉系统该画一个多大的View,这个过程在onMeasure()方法中进行。 Android系统为我们...
阅读全文