Android自定义View创建流程

时间:2023-03-08 20:06:32

Android的framework提供了很多高质量的view,有时业务需求需要自定义View,其实现流程大致如下:
1.在values/attrs.xml中定义支持的自定义属性,示例如下:
Android自定义View创建流程
Android自定义View创建流程
2.自定义View,重写构造函数,并在三参构造函数中读取上述属性,示例如下:
Android自定义View创建流程
3.若需要调整默认的View宽高计算方式,如重新定义wrap_content的显示策略、重新定义显示的宽高,则需重写onMeasure函数,示例如下:
Android自定义View创建流程
注意的是具体数字和match_parent对应的specMode均为MeasureSpec.EXACTLY, 而wrap_content对应的是MeasureSpec.AT_MOST
4.重写onDraw,在分配的canvas上画view,即定义View长啥样,示例如下:
Android自定义View创建流程
5.重写onTouchEvent,定义View的行为,示例如下:
Android自定义View创建流程