前言:感觉自己记忆力不是很好,很多写过的东西容易忘记,所以还是写个博客记录一下,菜鸟一枚,望各位师傅指点。
嘿喂狗,来看我们要实现的效果(如果你说:”开发之前当然看不到效果,看个diao啊“。我只能说:会YY吗【PS:老猿可能觉得此程序比较简单,勿喷哈:)】)
接下来,讲讲如何实现,自定义控件一般分为三种:
1、继承已有的控件来实现自定义控件,如本例就需要继承EditText
2、继承一个布局文件实现自定义控件
3、继承view类来实现自定义控件
我们实现的效果为第一种情况,继承现有的控件,本例我们需继承EditText
实现步骤(此步骤为我的习惯而已)
1、根据需求,确定需要自定义的属性(初学者也可不自定义属性,先写死,然后再考虑自定义属性)
2、在res/values/attrs.xml中定义属性
3、新建类,继承EditText,然后–啪啪啪–码功能
首先,思考有哪些东西需要自定义,本例可以自定义的有:边框颜色,边框宽度,圆角弧度,间隔线颜色,间隔线宽度,字体大小,字体颜色,数字个数等。
好,我们先看在attrs中如何自定义属性(name为属性名,format为此属性的值类型)
<resources>
<declare-styleable name="VerifyEditView">
<attr name="VerifyBorderWidth" format="dimension" />
<attr name="VerifyBorderColor" format="color" />
<attr name="VerifyBorderRadius" format="dimension" />
<attr name="VerifyCodeTextSize" format="dimension" />
<attr name="Verify