復合控制項是原子的、可重複使用的
widget
,它包含多個子控制項,以某種布局方式聯絡在一起。
當你建立乙個復合控制項的時候,你需要定義布局,外觀和它包含的
views
間的相互作用。復合控制項通過擴充套件乙個
viewgroup
建立。為了建立乙個復合控制項,你需要選擇乙個最適合放置子控制項的
layout
類來擴充套件它,如下面的框架**所示:
public class mycompoundview extends linearlayout
public mycompoundview(context context, attributeset attrs)
}由於要與
activity
一起使用,為復合控制項建立
ui的首選方式是使用
layout
資源。接下來的**片段顯示了乙個
layout
的xml
定義,layout
定義了乙個簡單的
widget
,由乙個
edittext
和乙個button
組成,button
負責清除內容:
<?xml version=」1.0」 encoding=」utf-8」?>
android:orientation=」vertical」
android:layout_width=」fill_parent」
android:layout_height=」fill_parent」>
android:id=」@+id/edittext」
android:layout_width=」fill_parent」
android:layout_height=」wrap_content」
/>
android:id=」@+id/clearbutton」
android:layout_width=」fill_parent」
android:layout_height=」wrap_content」
android:text=」clear」
/>
為了使用新的
widget
的layout
,需要重寫它的建構函式,並使用layoutinflate系統服務的
inflate
方法來膨脹
layout
資源。inflate
方法帶有
layout
資源的引數並返回乙個膨脹了的
view
。在這裡的情況下,返回的
view
應該是你正在建立的類,所以你要傳入乙個父
view
並設定自動把結果附加到父
view
上。如下面的**所示。
下面的**顯示了clearableedittext類。在建構函式裡,它膨脹了上面建立的
layout
資源,並獲得它裡面包含控制項的引用。另外,還呼叫了
hookupbutton
方法,它用來當
button
被按下時連線清除文字的功能。
public class clearableedittext extends linearlayout
}如果你喜歡在**裡構建
layout
,你可以像你為
activity
做的一樣去實現。下面的**片段顯示了重寫clearableedittext建構函式來建立和
xml中一樣的ui:
public clearableedittext(context context)
一旦螢幕已經構建完成,你可以為每個子控制項連線事件管理器來提供你需要的功能。在接下來的片段,hookupbutton方法填充了當
button
按下時清除文字的**:
private void hookupbutton()
});}
sample code:
057復合控制項
復合控制項實際上是控制項的集合。因此,可以按照使用者的需求將visual studi0 2010工具箱中的控制項任意組合起來,形成乙個復合控制項。在以後使用中,生成的這個復合控制項將作為乙個控制項來對待。復合控制項一般都是從usercontrol類派生而來的。復合控制項的建立步驟如下 1 建立乙個w...
winform 控制項開發1 復合控制項
哈哈是不是醜死了?做了乙個不停變色的按鈕,可以通過勾選checkbox停下來,如下 復合控制項果然簡單呀,我都能學會 1 using system 2using system.collections.generic 3using system.componentmodel 4using system...
復合控制項的開發
因為專案需要,前幾天自己寫了乙個復合控制項。復合控制項的開發過程中,主要是對屬性和事件的處理,理解屬性 事件的定義與使用,以及委託的使用,開發控制項就很容易。所謂的復合控制項,就是把一些基本的控制項結合起來,合成自己方便使用的控制項。比如結合了label和textbox的控制項就非常容易在窗體上布局...