自定义控件的介绍

1、自定义View

示例:自定义圆形头像

如何自定义View

(1)在values下创建一个attrs.xml,用来存放自定义的属性

android 自定义控件

android 自定义控件

(2)创建一个类继承View,添加构造器,并初始化画笔和自定义属性

android 自定义控件

android 自定义控件

(3)重写onMeasure()方法,计算圆的大小,以及对其方式

android 自定义控件

(4)重写onDraw()方式,完成圆形绘制

android 自定义控件

(5)在布局文件使用,先定义命名空间,再使用

android 自定义控件

(6)运行效果

android 自定义控件

2、自定义ViewGroup(控件容器)

(1)创建一个类继承自ViewGroup,提供构造函数

android 自定义控件

(2)重写onLayout()方法,确定其内部空间的排列顺序

android 自定义控件

(3)重写onMesure()方法,计算子控件的大小

android 自定义控件

(4)为了避免margin属性失灵,写一个内部类继承自ViewGroup.MarginLayoutParams

android 自定义控件

(5)重写generateLayoutParams()方法

android 自定义控件

(6)重写onLayout()方法,确定其内部控件的位置

android 自定义控件

(7)运行效果

android 自定义控件

 

相关文章: