2013-10-29 92 views
0

我有一個LinearLayout,其中有一個微調器和一個圖像按鈕。我希望微調框在左側屏幕上,圖像按鈕在右側屏幕上(並且都在同一個屏幕上)。這裏是我的佈局:LinearLayout:設計兩個視圖:一個在左側屏幕和一個在右側屏幕

<LinearLayout 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:orientation="horizontal"> 

     <Spinner 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:layout_alignParentTop="true" 
      android:id="@+id/spinner_method_list"></Spinner> 

     <ImageButton 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:layout_weight="1" 
      android:background="@drawable/ic_menu_refresh"/> 

    </LinearLayout> 

在上面的代碼,我覺得做ImageButton與layout_weight爲1的工作,但實際上沒有。請告訴我如何設計這個佈局。

謝謝:)

回答

2

首先,android:layout_alignParentTop="true"不是LinearLayout只有RelativeLayout的屬性。其次,在horizontalLinearLayout中使用layout_weight時,layout_width應爲0dp,並且layout_heightverticalLinearLayout中應該爲0dp。

使用LinearLayout,一個方式來實現,這將是給每個View這裏的,說一個layout_weight,1然後創建在具有的weight也許2中間的第二View但你需要與那些玩得到你想要的。

<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:orientation="horizontal"> 

    <Spinner 
     android:layout_height="wrap_content" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:id="@+id/spinner_method_list"/> 

    <View 
     android:layout_height="match_parent" 
     android:layout_width="0dp" 
     android:layout_weight="2"/> 

    <ImageButton 
     android:layout_height="wrap_content" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:background="@drawable/ic_menu_refresh"/> 

</LinearLayout> 

一個可能更好的辦法是使用一個RelativeLayout並使用其屬性alignParentLeftalignParentRight。喜歡的東西

<RelativeLayout 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"> 

    <Spinner 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignParentLeft="true" <!-- here --> 
     android:id="@+id/spinner_method_list"/> 

    <ImageButton 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:background="@drawable/ic_menu_refresh" 
     android:layout_alignParentRight="true"/> <!-- and here --> 

</RelativeLayout> 

如果你希望他們每個佔用一半的屏幕,然後你可以給每個「1」的layout_weight和「0dp」一個layout_width

+0

感謝您的好解釋:D – hqt

+0

最受歡迎! :) – codeMagic

相關問題