1

すべての画面をサポートするレイアウトを作成しようとしています

それで、次のようなレイアウトフォルダーを追加しました

レイアウト小

レイアウト大

レイアウト特大

レイアウト-w600dp

そして、それらすべてを適切に編集しました

しかし、HTC Sensation 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>

エミュレーターはそれを私が望むものとして表示します..

エミュレータ

しかし、私の携帯は次のように表示されます..

htc

ヘルプはありますか?

4

1 に答える 1

0

子ビューを RelativeLayout の別の子ビューの下に表示する場合は、その効果に対して特定の制約を使用する必要があります。したがって、id first_element を持つものがあり、それよりも下の何かが必要な場合は、次のようにします:
android:layout_below="@id/first_element"

下部に要素が必要な場合は、次のようにします:
android:id="@+id/bottom_element"
android:layout_alignParentBottom="true"

その上に要素が必要な場合:
android:layout_above="@id/bottom_element"

現在、1 つのものを中央に配置しますが、他のものを特定の下マージンとサイズなどに設定します。しかし、画面のサイズが変わると、要素は別のサイズの画面でのように整列しなくなります。解決策は、相互に関連して配置することを明確に指定する制約を使用することです。

ここでチュートリアルを見ることができます:
http://developer.android.com/guide/topics/ui/layout/relative.html

于 2013-02-15T22:19:53.357 に答える