天天看點

介紹幾個好用的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

繼續閱讀