LinearLayout中元件右對齊

weixin_33716557發表於2016-06-22

在LinearLayout中,如果將其定位方向設為橫向排列:Android:orientation="horizontal",那麼這個佈局中的控制元件將自左向右排列。

但有時會有這樣的情況:行的左邊有兩個控制的同時,行的右邊也有一個控制。

如圖:

這怎麼處理呢?

我們可以將右邊的控制元件放在另一個LinearLayout中,同時將其對齊方式設為右對齊:android:gravity="right",還有一點,這個LinearLayout的寬度設為充滿父控制元件: android:layout_width="fill_parent"。這樣就行了。

完整的XML程式碼如下:

[html]view plaincopy


android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="@drawable/bg"

android:orientation="horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="左邊1"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="左邊2"/>


注意android:layout_width和android:gravity這兩個屬性

-->

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="right">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginRight="10dp"

android:text="右邊"/>

android:gravity 屬性是對該view中內容的限定.比如一個button 上面的text. 你可以設定該text 相對於view的靠左,靠右等位置.

android:layout_gravity是用來設定該view相對與父view 的位置.比如一個button 在linearlayout裡,你想把該button放在linearlayout裡靠左、靠右等位置就可以通過該屬性設定.

即android:gravity用於設定View中內容相對於View元件的對齊方式,而android:layout_gravity用於設定View元件相對於Container的對齊方式。

當Linear Layout為水平時,可以設定上下

當Linear Layout為垂直時,可以設定左右


重要的是最裡面的linearlayout的width一定要match_parent

相關文章