2013-02-09 71 views
1

我試圖創建一個支持所有屏幕佈局HTC感覺

所以佈局,我加布局文件夾一樣

佈局小

佈局大

佈局XLARGE

layout-w600dp

我編輯了所有他們是合適的

,但是當我在HTC感覺2.1運行應用程序,他們似乎沒有在正確的位置

這是佈局的代碼

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@+id/mainlayout" 
tools:context=".SebhaActivity" 
android:background="#4b6702" 
> 

<ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:src="@drawable/sebha_bg" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:scaleType="fitCenter" /> 

<TextView 
    android:id="@+id/zakr" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_marginBottom="58dp" 
    android:gravity="center" 
    android:text="@string/first_zekr" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#FFFFFF" 
    android:textSize="25dp" /> 

<Button 
    android:id="@+id/azkar" 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:text="@string/Azkar" /> 

<Button 
    android:id="@+id/karaza" 
    android:layout_width="135dp" 
    android:layout_height="135dp" 
    android:layout_above="@+id/zakr" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="74dp" 
    android:background="@drawable/button_green" 
    android:text="0" 
    android:textColor="#FFFFFF" 
    android:textSize="38dp" 
    android:scaleType="fitCenter" /> 

</RelativeLayout> 

的仿真器顯示的是我想..

emulator

,但我的手機顯示它如下..

htc

任何幫助?

+0

「似乎不符合」 ??? – Simon 2013-02-09 14:38:58

+0

我的意思是說他們不在htc的正確位置,對不起我的英語 – 2013-02-09 14:41:44

+0

發佈一些截圖 - 你想要它看起來像什麼,它實際上做了什麼。你應該考慮使用嵌套佈局,而不是試圖使它與一個RelativeLayout一起工作,但不知道你想要達到什麼目的,很難給出具體的建議。 – Clyde 2013-02-09 20:19:21

回答

0

如果您希望在一個RelativeLayout中顯示另一個子視圖下的子視圖,則應該使用特定的約束。所以,如果你有一個id爲first_element,想下面的東西,你會怎麼做:
機器人:layout_below =「@ ID/first_element」

如果你想沿着底部的元素,你可以這樣做:
機器人: ID = 「@ + ID/bottom_element」
機器人:layout_alignParentBottom = 「真」

如果你想上面的一個元素:
機器人:layout_above = 「@ ID/bottom_element」

現在您居中一件事,但其他的事情你t有一定的底部邊距和大小以及類似的東西。但是當屏幕的大小發生變化時,您的元素不再像在不同大小的屏幕上那樣排列。解決方案是使用約束條件來明確指定您希望事物彼此相關。

這裏你可以看到一個教程:
http://developer.android.com/guide/topics/ui/layout/relative.html