首先看效果圖,

看下這兩個界面,第一個中用到了一個自定義的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