2011-04-19 85 views
4

這是我正在嘗試在右側和左側保留一個圖像按鈕的xml? 我不知道爲什麼它不會發生,雖然我也設置了grvaity? 無法對齊一個圖像按鈕,而另一個左邊

<LinearLayout android:id="@+id/linearLayout1" 
     android:layout_height="wrap_content" android:gravity="center_horizontal" 
     android:layout_width="wrap_content" android:layout_gravity="fill"> 
      <ImageButton android:layout_width="wrap_content" 
     android:layout_gravity="left" android:id="@+id/imageButton1" 
     android:src="@drawable/arrow_button_left" android:layout_height="wrap_content"></ImageButton> 
      <ImageButton android:layout_width="wrap_content" 
      android:layout_gravity="right" android:id="@+id/imageButton2" 
      android:src="@drawable/arrow_button_right"  android:layout_height="wrap_content"></ImageButton> 
    </LinearLayout> 
+0

假設您不希望按鈕背景伸展是否安全? – Maximus 2011-04-19 19:15:16

+0

是的,這是正確的假設 – Gainster 2011-04-19 23:52:25

+0

你有什麼成功嗎? rekaszeru的RelativeLayout發佈應該已經完成​​。 – Maximus 2011-04-20 04:19:09

回答

18

您應該使用RelativeLayout代替LinearLayout,並設置layout_alignParentRight屬性爲第二ImageButtontrue

android:layout_alignParentRight="true" 

使您的佈局看起來像:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/relativeLayout1" 
    android:layout_height="wrap_content" android:gravity="center_horizontal" 
    android:layout_width="fill_parent" android:layout_gravity="fill"> 
    <ImageButton android:layout_width="wrap_content" 
     android:id="@+id/imageButton1" 
     android:src="@drawable/arrow_button_left" 
     android:layout_height="wrap_content" /> 
    <ImageButton android:layout_width="wrap_content" 
     android:id="@+id/imageButton2" 
     android:src="@drawable/arrow_button_right" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" /> 
</RelativeLayout> 
+0

我同意這篇文章,除了你需要將RelativeLayout的高度和寬度設置爲fill_parent,並且你可能還想將第一個按鈕設置爲layout_alignParentLeft =「true」。 – Maximus 2011-04-19 19:16:57

+0

當然,但只有在這種情況下,這個RelativeLayout不是一個渲染器,用於說一個'ListView'中的一行。我相信@Huzaifa有理由設置它的佈局參數(雖然,我同意你的'layout_width =「fill_parent」''評論)。默認情況下,RelativeLayout中的項目向左對齊,因此不需要爲第一個「ImageButton」顯式設置它。 – rekaszeru 2011-04-19 19:21:48

1

你將LinearLayout的寬度設置爲wrap_content,所以它有一個最小的寬度來放置按鈕本身。這些按鈕無法對齊,因爲它們沒有對齊空間。嘗試設置fill_parent

0

如果你已經使用width到wrap_content,你可能會忘記LinearLayout中的android:orientation =「horizo​​ntal」。

如上所述的其他Relativle佈局非常適合您。