2017/05/06

Android開發 - ViewGroup的簡介

- ViewGroup像一個容器,裡面可以任意放多個View(稱為child view),
而各個child view的位置是由parent view決定

例:只要是android:layout_開頭的,基本上是由ViewGroup控制,其他
譬如android:text,android:background...才是view本身的屬性

- LinearLayout是ViewGroup的一種,若child view沒有設定android:
layout_weight,則預設值為0,意即不會改變其大小。weight越大,
則在parent view所分配到的空間也越大。

例:有一個LinearLayout,android:orientation設為垂直(水平),裡頭
放了A,B,C三個View,都設定為
android:layout_height="0dp"
android:layout_weight="1"
則會呈現A,B,C在垂直(水平)方向各佔整個螢幕畫面的1/3的結果

例:有一個LinearLayout,android:orientation設為垂直(水平),裡頭
放了D,E兩個View,D未設定android:layout_weight,而E設定為
android:layout_height="0dp"
android:layout_weight="1"
則會呈現整個螢幕畫面除了D大小不變以外,絕大部分的空間都會分配
給E的結果

- RelativeLayout也是ViewGroup的一種,但沒有weight的概念,若有一個
RelativeLayout裡頭放了X,Y,Z三個View,會先畫X,然後Y疊在X上面,
最後Z再疊上去