0

我有我的佈局問題我想垂直排列圖像按鈕,我希望它有不同的屏幕尺寸相同的外觀這裏是一個打印屏幕http://flic.kr/p/fwEZn1Android:圖像按鈕佈局垂直,將適合所有屏幕尺寸

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/chalk" 
android:gravity="center|fill_vertical" 
android:orientation="vertical" > 

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="1000dp" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="104dp" > 

    <ImageButton 
     android:id="@+id/m" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="62dp" 
     android:layout_weight="1.30" 
     android:background="@android:color/transparent" 
     android:contentDescription="exam schedule button" 
     android:onClick="ex" 
     android:src="@drawable/exam" /> 

    <ImageButton 
     android:id="@+id/cl" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="60dp" 
     android:background="@android:color/transparent" 
     android:contentDescription="classes button" 
     android:onClick="cl" 
     android:src="@drawable/list1" /> 

    <ImageButton 
     android:id="@+id/lec" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.24" 
     android:background="@android:color/transparent" 
     android:contentDescription="lecture section button" 
     android:onClick="lc" 
     android:src="@drawable/sylla" /> 

    <ImageButton 
     android:id="@+id/gr" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="20dp" 
     android:layout_weight="3.36" 
     android:background="@android:color/transparent" 
     android:contentDescription="group button" 
     android:onClick="gr" 
     android:src="@drawable/group" /> 
     </LinearLayout> 

    <LinearLayout 
    android:id="@+id/linearLayout2" 
    android:layout_width="1000dp" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/linearLayout1" 
    android:layout_marginTop="123dp" > 

    <ImageButton 
     android:id="@+id/kl" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="74dp" 
     android:layout_weight="0.69" 
     android:background="@android:color/transparent" 
     android:contentDescription="calendar button" 
     android:onClick="kl" 
     android:src="@drawable/calendar" /> 

    <ImageButton 
     android:id="@+id/d" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignTop="@+id/pd" 
     android:layout_marginRight="84dp" 
     android:layout_weight="0.38" 
     android:background="@android:color/transparent" 
     android:contentDescription="Schedule button" 
     android:onClick="sk" 
     android:src="@drawable/sked" /> 

    <ImageButton 
     android:id="@+id/pd" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/button1" 
     android:layout_alignTop="@+id/an" 
     android:layout_weight="0.16" 
     android:background="@android:color/transparent" 
     android:contentDescription="podcast button" 
     android:onClick="pd" 
     android:src="@drawable/podcast" /> 

    <ImageButton 
     android:id="@+id/an" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/kl" 
     android:layout_marginLeft="60dp" 
     android:layout_toRightOf="@+id/kl" 
     android:layout_weight=".92" 
     android:background="@android:color/transparent" 
     android:contentDescription="announcement button" 
     android:onClick="an" 
     android:src="@drawable/announce" /> 
    </LinearLayout> 
    <ImageButton 
    android:id="@+id/button1" 
    android:layout_width="53dp" 
    android:layout_height="40dp" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_marginBottom="106dp" 
    android:layout_marginLeft="342dp" 
    android:layout_weight="0.38" 
    android:background="@android:color/transparent" 
    android:contentDescription="logout button" 
    android:onClick="logout" 
    android:src="@drawable/logout" 
    android:text="Logout" /> 
</RelativeLayout> 

所以基本上我想修復圖像按鈕的排列。我怎樣才能做到這一點?我是否需要調整每個可繪製文件夾的圖像大小?

回答

0

當你說「看」時,你的意思是所有屏幕尺寸的尺寸是否相同?一種可能的方法來做到這一點,將設置ImageButton的在你的XML:

scaleType="centerInside" 

,並設置從您的圖片按鈕,所有的權重爲1

layout_weight="1" 

,如果你想設置每個按鈕垂直,申報你的LinearLayout

android:orientation="vertical" 

順便說一句,這是百達一個很好的做法,爲每一個繪製,以適應多屏設置不同的圖像。

0

有一個簡單的解決方案。我發現你希望佈局在所有屏幕尺寸上看起來都一樣,但是你使用硬編碼的值作爲layout_height,margin,padding等。爲此,在values文件夾中使用dimens.xml。指定所有屏幕的值,在您的資源文件夾中創建這些文件夾:

values-small 
    values-normal(The default values folder is values-normal)  
    values-large 
    values-xlarge(You can use values-sw600 for tablets after Android 3.2) 

在所有這些文件夾的創建,您可以指定邊距,高度,寬度,填充等,在DP dimens.xml,你甚至可以指定字體大小。希望這可以幫助!