想要学好 android, 除了使用 google 提供好的 view 外,还必须会在 google 提供的框架上会自定义新的 View, 供不同的场合使用。
这里使用一个简单的验证码 View 作为入门选择。
首先,我们明确一下自定义 View 的过程
1. 定义自定义 view 的属性
2. 获取定义的属性
3. 重写 onMeasure()
4. 重写 onDraw()
网络上简单过很多验证码,让我们很无奈,有时候烦不胜烦,但这又有存在的必要性。
这里一步一步来实现一个验证码的 View,一般而言,有下面这些特征:
- 设置文字
- 文字大小不一致
- 文字颜色不一致
- 干扰圆点
- 干扰线条
那么根据上面这些特征,我们首先定义 View 的
1. 在 res/values/ 目录下新建 attrs.xml 在里面定义我们的样式
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="mix_color" format="boolean" />
<attr name="text" format="string" />
<attr name="max_text_size" format="dimension" />
<attr name="min_text_size" format="dimension" />
<declare-styleable name="VerificationCodeView">
<!--文字颜色是否不一致-->
<attr name="mix_color"/>
<!--文字-->
<attr name="text"/>
<!--文字大小随机范围的小值-->
<attr name="max_text_size"/>
<!--文字大小随机范围的大值-->
<attr name="min_text_size"/>
<!-- 文字颜色 -->
<attr name="color" format="color" />
</declare-styleable>
</resources>
通过这样的一个属性,我们确定了我们需要的一些属性。然后,根据我们的需求,这里选择直接继承 View 来进行实现, 先定义一些所需要的 field并在构造函数中对所需要的值进行初始化
/**
* 文字内容
*/