天天看點

Andorid學習筆記4——ViewGroup布局管理器

##ViewGroup布局管理器

Android的UI界面都是由View和ViewGroup及其派生類組合而成的。其中,View是所有UI元件的基類,而ViewGroup是容納這些元件的容器,其本身也是從View派生出來的。

###AndroidUI界面的一般結構圖

Andorid學習筆記4——ViewGroup布局管理器

一般來說,開發Android應用程式的UI界面都不會直接使用View和ViewGroup,而是使用這兩大基類的派生類。

###ViewGroup常用屬性

  • addStatesFromChildren:定義布局是否應用子布局的背景;
  • alwaysDrawnWithCache:定義子布局是否應用繪圖的高速緩存;
  • animateLayoutChanges:布局改變時是否有動畫效果;
  • animationCache:定義子布局也有動畫效果;
  • clipChildren:定義子布局是否一定要在限定的區域内;
  • clipToPadding:定義布局間是否有間距;
  • descendantFocusability:控制子布局焦點擷取方式 常用于listView的item中包含多個控件 點選無效,值:beforeDescendants、afterDescendants、blocksDescendants;
  • layoutAnimation:定義布局顯示時候的動畫
  • layoutMode:布局模式,值:clipBounds、opticalBounds;
  • persistentDrawingCache:定義繪圖的高速緩存的持久性;
  • splitMotionEvents:定義布局是否傳遞touch事件到子布局;

##ViewGroup.LayoutParams類

用于子控件向父窗體傳達自己的意圖,每個不同的ViewGroup子類都有自己的LayoutParams類,其中定義了包含在布局中的子控件特殊的屬性。

LayoutParams類用于父視圖和子視圖之間布局的屬性資訊,它封裝了Layout的位置、高、寬等資訊。描述寬高可以設定成三種值:

1、match_parent,即填滿(和父容器一樣大小) ;

2、wrap_content 根據内容大小決定 ;

3、一個确定的值。

繼續閱讀