2014-10-06 122 views
0

我需要調整3個按鍵,以適應各種屏幕尺寸,所以我試圖用一個垂直線性佈局,但結果如下:調整大小按鈕的Android

enter image description here

這是結果我上LDPI/MDPI設備,但是當我切換到更高的分辨率像華電國際,我得到這樣的:

enter image description here

第三個按鈕被放大。

如何調整3個按鈕以適應屏幕?

+0

您使用的圖像按鈕 – Ranjithkumar 2014-10-06 07:02:10

+0

我使用的按鈕與背景圖像 – Signo 2014-10-06 07:03:12

+1

2:3:4:6:8縮放比MDPI:HDPI:xhdpi:xxhdpi:xxxhdpi ,儘量把正確的圖像源 – Ranjithkumar 2014-10-06 07:04:49

回答

2

嘗試:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="3" > 


    <Button 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="b1" /> 

    <Button 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="b2" /> 

    <Button 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="b3" /> 

</LinearLayout> 
3

發生在linearlayout (horizontal)

按鈕添加android:weightSum="3"到線性佈局

在添加android:layout_weight="1"每個buttons的,使他們的layout_width="0dp"

這將調整buttons(寬度)響應設備的大小。

3

嘗試這種情況:

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="50dp" 
     android:background="#5E616B" 
     android:gravity="center_horizontal" 
     android:orientation="horizontal" 
     android:weightSum="1" > 

     <ImageButton 
      android:id="@+id/btn_pingsheet" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/pingicon" /> 

     <ImageButton 
      android:id="@+id/btn_myprofile" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/profile" /> 

     <ImageButton 
      android:id="@+id/btn_mycircle" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/mycircle" /> 

     <ImageButton 
      android:id="@+id/btn_sendping" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/sendping" /> 

     <ImageButton 
      android:id="@+id/btn_settings" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/settings" /> 
    </LinearLayout> 

這裏的基本概念是利用一個線性佈局weightsum 1.Then除以重量到每個按鈕(我已採取5個按鈕,以便劃分它作爲.2對於每個)。您可以將權重除以android:layout_weight=".2"屬性。也不要忘記將線性佈局的方向設置爲水平方向

+0

非常感謝它的工作! – Signo 2014-10-06 07:08:47

+0

不客氣....快樂的編碼朋友... – kgandroid 2014-10-06 07:09:56