使用第三方控件
三种方法
- 在build.gradle文件的dependency闭包部分添加相关引用,添加完成以后update
- 下载jar包。将jar包放到app目录下的libs文件夹,然后同步项目
- 添加module的方式。依次选择File-New-Import Module后导入源码。
- https://www.jianshu.com/p/dba47464fcfc
自定义单一控件
继承系统控件
创建
- 创建自定义控件的类名,并选择要继承系统已有的控件
- 继承类的构造函数,用户传递控件属性
- 重载onDraw()函数,修改控件分割、形状
- 增加xml文件,设置自定义属性
使用
- 在布局xml中使用
确保已存在app的命名空间
命名空间
- 在java代码中使用
通过TypedArray获取控件属性,并用recycle函数结束
直接继承view
创建
- 设计控件尺寸。重载onMeasure函数修改默认控件尺寸
setMeasureDimension函数设定view的默认大小
MeasureSpec.getSize获得view的大小以及模式
- 绘制自定义组件。重载onDraw函数
自定义控件的函数调用顺序
- init构造函数
- onFinishInflate
- onMeasure 测量或修改view的大小
- onSizeChanged 在控件大小发生改变时调用,初始化会被调用
- onLayout 控件布局时调用
- onDraw 绘制图形
自定义组合控件
创建
- 建立xml文件和对应的类
在创建java文件时记得选择基类(superclass)为我使用的布局类 - 在使用该组件的页面中添加该控件,并在相应java文件中实现交互