2011-07-17 9 views
0

EditTextビューの場所が正しい位置にあるw.r.t.の場所を、以下の図に示します。矢印。このレイアウトを画面サイズにわたって均一に保つ方法

私はRelativeLayoutで作成したマージンを使用したレイアウトですが、HTCのような540x960解像度の携帯電話にこのアプリケーションをインストールすると動作しません。

ご協力いただきありがとうございます。

Valid XHTML http://www.tricky.dds.nl/gui.png

答えて

1

LinearLayoutとRelativeLayoutの組み合わせを使用します。 LinearLayoutを使用すると、すべてのデバイスでまったく同じようなスペースを画面上に作成できます。最上位のコンテナをLinearLayoutにします。

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal"> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

</RelativeLayout> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

<TextView 
android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
android:layout_centerInParent="true"> 
</TextView> 

</RelativeLayout> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

</RelativeLayout> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

<TextView 
android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
android:layout_centerInParent="true"> 
</TextView> 

</RelativeLayout> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

</RelativeLayout> 

</LinearLayout> 
+0

こんにちはEmiam、あなたの答えに感謝:たとえば、あなたがreffered画像内の第二列を作成するには、このような何かを行います。私はあなたが提案したように実装しましたが、上記の答えで解決されていないものがまだあります。私は、さまざまな解像度を比較するための画像を作成しました:http://www.tricky.dds.nl/540x960vs480x800.pngここでは、HDPIに保存された背景が両方の解像度に一致しないことがわかります。解像度に基づいて異なる背景イメージを読み込むのか、レイアウトでこの修正可能なのですか?再度、感謝します! – patrick

+0

私はあなたの問題を理解しています。どのコンポーネントを使用しますか?テキストビュー?私の経験から、あなたがイメージビューを扱っているならば、これはレイアウトだけで解決可能です。垂直と水平の両方の線形レイアウトを使用していますか?これにより、部品を配置できる「ボックス」を作成することができます。また、すべてのlinearlayoutの親に対して "android:weighSum"を必ず使用してください。 – Emiam

+0

私はEditTextsとTextviewsのみを使用します。私は2つのLinearLayouts垂直レイアウトの1つと、すべての行の1つを使用します。画像は両方の解像度で使用される背景全体(480x7xx)をカバーする背景に過ぎず、したがって両方のHDPIレイアウトがあります。私のイメージをスライスし、これらの背景のブロックスライスを背景イメージとして与える方が良いですか?お時間をいただきありがとうございました! – patrick

関連する問題