2013-04-01 41 views
5

doğrusal aralıklı olarak eşit aralıklarla hizalayarak, eşit aralıklarla yatay olarak yerleştirilmiş 5 düğmeli bir Doğrusal Düzenleme yapmaya çalışıyorum, ancak tüm düğmelerin boyutu (genişlik) yalnızca 40dp olmalıdır.Düğmeleri

ben bu çalıştı:

<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> 

onun çalışma ama düğmeleri küçük olması genişliği gerek, bu nasıl modernleşmek için?

her düğmenin
+0

olası bir kopyası [Android: LinearLayout içindeki tüm öğeleri nasıl aynı boyutta yapabiliriz?] (Http://stackoverflow.com/questions/1177020/android-how-to-make-all-elements-inside-linearlayout-same-size) –

cevap

1

, bunu değiştirmek:

ben bu Sorgunuzla çözecektir sanırım
android:layout_width="40dp" 
+0

evet çalışıyor ama cihazdan cihaza değişen genişlik, demek istediğim eğer bir tablet o zaman eğer buton – Goofy

+0

değerini arttırıyorsa, bu beklenen bir şey. Android, cihaz ekran yoğunluğuna bağlı olarak genişlik değiştirir. Bunun nedeni "dp" = (Yoğunluk Bağımsız Piksel, "daldırma"). "Px" olarak değiştirirseniz, boyut aynı sayıda pikselde kalacak, ancak tablette daha küçük boyutta olacaktır. "Match_parent" tam genişliğini belirtebilirsiniz ve sonra iki sütununuz "ağırlık" nedeniyle ekranı eşit bir şekilde doldurmaya bile çıkar. –

1

...

Eğer o LinearLayout kullandığınız dedikleri gibi: Buna

android:layout_width="0dp" 

... gibi bir şey yapabilirsin ...

<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

Eğer bir tableti o zaman düğmenin genişliği artacak? – Goofy

+0

tüm telefonlar için iyi çalışıyor ... ama tabletler ile sanırım ... hala bir uygulanmadı ... bir deneyin ... ve –

+0

çalışıp çalışmadığını ve burada lineer yüksekliğini anlatın düzen, düğme genişliğini – Goofy