自定义控件的介绍
1、自定义View
示例:自定义圆形头像
如何自定义View
(1)在values下创建一个attrs.xml,用来存放自定义的属性
(2)创建一个类继承View,添加构造器,并初始化画笔和自定义属性
(3)重写onMeasure()方法,计算圆的大小,以及对其方式
(4)重写onDraw()方式,完成圆形绘制
(5)在布局文件使用,先定义命名空间,再使用
(6)运行效果
2、自定义ViewGroup(控件容器)
(1)创建一个类继承自ViewGroup,提供构造函数
(2)重写onLayout()方法,确定其内部空间的排列顺序
(3)重写onMesure()方法,计算子控件的大小
(4)为了避免margin属性失灵,写一个内部类继承自ViewGroup.MarginLayoutParams
(5)重写generateLayoutParams()方法
(6)重写onLayout()方法,确定其内部控件的位置
(7)运行效果