天天看点

介绍几个好用的android自定义控件

首先看效果图,

介绍几个好用的android自定义控件
介绍几个好用的android自定义控件

看下这两个界面,第一个中用到了一个自定义的flowradiogroup,支持复合子控件,自定义布局;

第二个界面中看到了输入的数字 自动4位分割了吧;也用到了自定义的divisionedittext控件。

下面直接看源码flowradiogroup了;

介绍几个好用的android自定义控件
介绍几个好用的android自定义控件
介绍几个好用的android自定义控件

简单讲解下我的实现:

1)在addview方法中,加上判断,当前子控件是否为viewgroup类型

介绍几个好用的android自定义控件
介绍几个好用的android自定义控件

2)定义一个数组存放当前所有查到到的radiobutton;

3)在onchildviewadded方法中,判断新添加的子控件是否为viewgroup类型

1

2

3

4

5

<code>else</code> <code>if</code> <code>(parent == flowradiogroup.</code><code>this</code>

<code>                    </code><code>&amp;&amp; child </code><code>instanceof</code> <code>viewgroup) {</code><code>// 如果是复合控件</code>

<code>                </code><code>// 查找并设置id</code>

<code>                </code><code>setcheckedid((viewgroup) child);</code>

<code>            </code><code>}</code>

  

介绍几个好用的android自定义控件
介绍几个好用的android自定义控件

下面是divisionedittext的源码;

介绍几个好用的android自定义控件
介绍几个好用的android自定义控件
介绍几个好用的android自定义控件

上面代码实现逻辑:在textwatcher的ontextchanged方法中判断当前输入的字符,然后没4位添加一个空格,组成新的字符

介绍几个好用的android自定义控件
介绍几个好用的android自定义控件

还有其他两个自定义控件也在项目中,这里界面没体现出来,我已经放在项目中了;

欢迎大家找出代码中的存在bug!!!!

最后附上代码下载地址:http://www.eoeandroid.com/forum.php?mod=attachment&amp;aid=mtiwmdm1fdm5ntyzzjq3fdezoty0mjc4ndf8nzu4mzi1fdmyodqynw%3d%3d

继续阅读