组合控件的意思就是,我们并不需要自己去绘制视图上显示的内容,而只是用系统原生的控件就好了,但我们可以将几个系统原生的控件组合到一起,这样创建出的控件就被称为组合控件。
定义是足够简单明了,下面我们举个例子。比如我们Android中常用的EditText控件,我想对这个控件进行一定的功能扩展,让这个控件有内容输入时出现一个清除内容的按钮,内容为空时隐藏按钮。同时也要有个内容改变监听的回调接口,最后还需要能支持对EditText的属性可以进行一定的自定义。由于今天的代码量可能比之昨天的自绘控件可能会稍稍多点,所以还是直接上代码吧。
一、定义组合控件的属性,包括提示、文字颜色、大小、背景色
二、定义内容回调的接口
三、初始化组合控件MyEditText的成员变量
四、初始化自定义属性以及组合控件的内容
五、设置删除键的点击监听
六、输入框内容监听
七、设置组合控件的两个公有方法
八、大功告成,看如何使用了
好了,终于靠谱了。大家悠着点加载,贴代码没有办法,就是贴截图比较靠谱。请耐心加载后阅读,相信会对你有所帮助。最后看下运行的结果。
源代码,我会放在github上了,地址:https://github.com/JackCho/MyEditText