Android 自定义控件

it2023-01-23  49

使用第三方控件

三种方法

在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构造函数onFinishInflateonMeasure 测量或修改view的大小onSizeChanged 在控件大小发生改变时调用,初始化会被调用onLayout 控件布局时调用onDraw 绘制图形

自定义组合控件

创建

建立xml文件和对应的类 在创建java文件时记得选择基类(superclass)为我使用的布局类在使用该组件的页面中添加该控件,并在相应java文件中实现交互
最新回复(0)