View和ViewGroup
Android的UI界面都是由View和ViewGroup及其派生類組合而成的。
其中,View是所有UI元件的基類,而 ViewGroup是容納這些元件的容器,其本身也是從View派生出來的.
View對象是Android平台中使用者界面展現的基礎機關。
View類是它稱為“widgets(工具)”的子類的基礎,它們提供了諸如文本輸入框和按鈕之類的UI對象的完整實作。
ViewGroup類同樣為其被稱為“Layouts(布局)”的子類奠定了基礎,它們提供了象流式布局、表格布局以及相對布局之類的布局架構。
View和ViewGroup的派生類
一般來說,開發Android應用程式的UI界面都不會直接使用View和ViewGroup,而是使用這兩大基類的派生類。
View派生出的直接子類有:AnalogClock,ImageView,KeyboardView, ProgressBar,SurfaceView, TextView,ViewGroup,ViewStub
View派生出的間接子類有:AbsListView,AbsSeekBar, AbsSpinner, AbsoluteLayout, AdapterView,AdapterViewAnimator, AdapterViewFlipper, AppWidgetHostView, AutoCompleteTextView,Button,CalendarView, CheckBox, CheckedTextView, Chronometer, CompoundButton,
ViewGroup派生出的直接子類有:AbsoluteLayout,AdapterView,FragmentBreadCrumbs,FrameLayout, LinearLayout,RelativeLayout,SlidingDrawer
ViewGroup派生出的間接子類有:AbsListView,AbsSpinner, AdapterViewAnimator, AdapterViewFlipper, AppWidgetHostView, CalendarView, DatePicker, DialerFilter, ExpandableListView, Gallery, GestureOverlayView,GridView,HorizontalScrollView, ImageSwitcher,ListView,
這裡特别指出,ImageView是布局具有圖檔效果的UI常用的類,SurfaceView是用來進行遊戲開發的與一般View相比較為特殊的非常重要的類,而AbsoluteLayout、 FrameLayout,LinearLayout, RelativeLayout這幾個ViewGroup的直接子類是Android UI布局中最基本的布局元素。
View和ViewGroup的關系
ViewGroup可以包含一個或任意幾個View,也可以包含作為更低層次的子ViewGroup,而子ViewGroup又可以包含下一層的葉子節點的View和ViewGroup。這種靈活的層次關系可以形成複雜的UI布局。在開發過程中形成的使用者界面UI一般是來自于View和ViewGroup類的直接子類或者間接子類。