2013-04-01 119 views
5

我正在嘗試使用等間距水平放置5個按鈕來製作線性佈局,但所有按鈕大小(寬度)應僅爲40dp。在線性佈局中水平排列等間距按鈕

我想這:

<LinearLayout android:id="@+id/button_layout" 
        android:background="#DCE1DC" 
        android:orientation="horizontal" 
        android:weightSum="5" 
        android:layout_width="fill_parent" 
        android:layout_height="70dip"> 

     <Button  android:id="@+id/button_A" 
        android:layout_weight="1" 
        android:layout_height="60dp" 
        android:layout_width="0dp" 
        android:layout_gravity="center_vertical" 
        android:layout_marginLeft="30dp"/> 

     <Button  android:id="@+id/button_B" 
        android:layout_weight="1" 
        android:layout_height="60dp" 
        android:layout_width="0dp" 
        android:layout_gravity="center_vertical" 
        android:layout_marginLeft="30dp"/> 

     <Button  android:id="@+id/button_C" 
        android:layout_weight="1" 
        android:layout_height="60dp" 
        android:layout_width="0dp" 
        android:layout_gravity="center_vertical" 
        android:layout_marginLeft="30dp"/> 

     <Button  android:id="@+id/button_D" 
        android:layout_weight="1" 
        android:layout_height="60dp" 
        android:layout_width="0dp" 
        android:layout_gravity="center_vertical" 
        android:layout_marginLeft="30dp"/> 

     <Button  android:id="@+id/button_E" 
        android:layout_weight="1" 
        android:layout_height="60dp" 
        android:layout_width="0dp" 
        android:layout_gravity="center_vertical" 
        android:layout_marginRight="30dp" 
        android:layout_marginLeft="30dp"/> 

    </LinearLayout> 

它的工作,但我需要的按鈕寬度更小,如何達致這?

+0

[Android:如何使LinearLayout內部的所有元素大小相同?](http://stackoverflow.com/questions/1177020/android-how-to-make-all-elements-inside-linearlayout-same-size ) –

回答

1

對於每個按鈕,更改此:

android:layout_width="0dp" 

要這樣:

android:layout_width="40dp" 
+0

是的,它的工作原理,但從設備到設備的寬度不斷變化,我的意思是說,如果它的平板電腦,然後寬度,如果按鈕增加 – Goofy

+0

是的,這是可以預料的。 Android根據設備屏幕密度更改寬度。這是因爲「dp」=(密度無關像素,又名「dip」)。如果您更改爲「px」,則尺寸將保持相同的像素數量,但平板電腦的尺寸要小一些。您可以指定全寬「match_parent」,然後您的兩列將均勻填充屏幕,因爲「重量」。 –

1

我想這將解決您的查詢......

,你說你正在使用的LinearLayout然後你可以做類似...

<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="yourheight" 
android:orientation="horizontal"> 
<Button 
android:id="@+id/button_name" 
android:weight="1" 
android:layout_height="wrap_content" 
android:layout_width="match_parent" /> 

<Button 
android:id="@+id/button_name" 
android:weight="1" 
android:layout_height="wrap_content" 
android:layout_width="match_parent" /> 

//add as many buttons as you want 


<Button 
android:id="@+id/button_name" 
android:weight="1" 
android:layout_height="wrap_content" 
android:layout_width="match_parent" /> 
</LinearLayout> 
+0

如果它的平板電腦那麼按鈕的寬度會增加? – Goofy

+0

它適用於所有手機......但是對於平板電腦,我認爲它應該......仍然沒有在一個上實施......試試看......並告訴它是否可以工作 –

+0

並且您在此提及線性高度佈局,我想要的按鈕寬度更小 – Goofy