首先看效果图,

看下这两个界面,第一个中用到了一个自定义的flowradiogroup,支持复合子控件,自定义布局;
第二个界面中看到了输入的数字 自动4位分割了吧;也用到了自定义的divisionedittext控件。
下面直接看源码flowradiogroup了;
简单讲解下我的实现:
1)在addview方法中,加上判断,当前子控件是否为viewgroup类型
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>&& 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>
下面是divisionedittext的源码;
上面代码实现逻辑:在textwatcher的ontextchanged方法中判断当前输入的字符,然后没4位添加一个空格,组成新的字符
还有其他两个自定义控件也在项目中,这里界面没体现出来,我已经放在项目中了;
欢迎大家找出代码中的存在bug!!!!
最后附上代码下载地址:http://www.eoeandroid.com/forum.php?mod=attachment&aid=mtiwmdm1fdm5ntyzzjq3fdezoty0mjc4ndf8nzu4mzi1fdmyodqynw%3d%3d