如何在xml中使用自定義的ViewGroup元件
1.ViewGroup的介紹:
/** * A ViewGroup is a special view that can contain other views * (called children.) The view group is the base class for layouts and views * containers. This class also defines the * android.view.ViewGroup.LayoutParams class which serves as the base * class for layouts parameters. |
一個ViewGroup是一個可以包含其他view的特別的View,ViewGroup是各個Layout和View元件的基類。(翻譯的不太好,能看懂就行了) |
首先我們要知道Android中的View以及ViewGroup,甚至是自己繼承Android中系統元件的View,都可以在XML中使用。不過要注意的一點就是一定要在自定義的類中新增上以下的構造器:
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
同樣,在XML中定義ViewGroup也必須有這個方法。因為從Android系統解析自定義的View時是根據這個方法來解析的,沒有這個方法是不行的。各位可以試一試。
3.關於三種在XML使用ViewGroup
其實我們有三種在XML佈局中使用ViewGroup的方法:
1)。直接使用ViewGroup
這個就是我們剛才使用的那個方法,這個方法是在自己寫的ViewGroup中通過addView方法一個一個新增子View,個人感覺這樣使用不太爽,呵呵,但是不可否認這樣使用有其獨擋一面的地方。
2)。在XML中向ViewGroup中新增View。
這個方法我們將在下一節研究,關於這個的話會涉及到一些其他的知識點,我們現在先不探討這個。