1. 程式人生 > >android佈局之線性佈局LinearLayout(總結)

android佈局之線性佈局LinearLayout(總結)

線性佈局LinearLayout:

可通過設定屬性android:orientation="horizontal或vertical"屬性來控制佈局中的各元件的橫向或縱向的排列。

注意:線性佈局是不會換行的,當元件一個接著一個的排到尾之後,剩餘的元件將不會再顯示出來。

線性佈局中的對齊方式 

android:gravity 用於設定元件本身裡面內容或者子控制元件的對齊方式,比如Button裡面的文字,如果android:gravity="left",那麼文字文字就會靠左顯示;

android:layout_gravity 用於設定元件在layout容器中對齊方式,比如設定Button的android:layout_gravity="right",則button會在layout容器右邊顯示;

這裡很好區別,android:gravity不帶layout,是設定自己的對齊方式,android:layout_gravity帶有layout,是用來設定在layout容器中的對齊方式。

另外,設定android:layout_gravity為left、right、top、bottom時,會受到layout容器orientation排列方式影響。

例如LinearLayout的排列方式為vertical垂直方式時,那麼,子控制元件只能設定android:layout_gravity為left、right才有效果


LinearLayout特有的屬性,權重,android:layout_weight="數值不帶單位"

使用比例的方式來指定控制元件的大小;在手機螢幕適配性方面有重要作用。

線上性佈局LinearLayout中的元件中新增這個屬性

①、均佔螢幕:android:layout_width="0dp" 或 height="0dp"

   android:layout_weight="各控制元件的權重數值相同"

②、當width/height為wrap_content=0時,等比例佔用空間

③、當為fill_parent或match_parent時,各控制元件分配的寬(高)為各控制元件寬(高)+當前控制元件權重/所有控制元件權重和*螢幕寬(高)-所有控制元件寬(高)和

權重weight有待補充……