0

したがって、私の問題は単純です。XML レイアウトを使用して、複数のデバイスでのウィジェットの配置を正確に制御したいと考えています。これを行うために、複数のデバイスのサポートに関するGoogleドキュメントをよく読みました。この部分によると、WVGA854 と HVGA はどちらも「通常の画面」サイズと見なされます。したがって、理論的には、ウィジェットを WVGA854 に配置すると、HVGA の場合と同じように見えるはずです。ただし、結果のスクリーンショットはそうではありません。ここに画像の説明を入力

ウィジェットは、WVGA854 スキンの比較的高い位置に表示されます。以下に示す XML コードは、layout-normal/ フォルダーの下に配置されています。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageButton
        android:id="@+id/button1"
        android:src="@drawable/icon_unlock"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="300dp"
        android:text="Button" />

</RelativeLayout>

私が作成したドローアブルは適切な比率です (推奨される 3:4:6:8 )。では、なぜこのポジショニングのミスマッチが起こるのでしょうか? XML を使用して物事を配置することはまったく無益だと思い始めています。私のアプリではウィジェットを非常に正確に配置する必要があるため、このわずかな不一致でも問題になります。どうすればこれを解決できますか?

編集: 私が望むのは、上からのマージンと下からのマージンの比率がデバイス間でまったく同じになるようにウィジェットを配置することです。スクリーンショットから、この比率が WQVGA854 と HVGA で同じではないことがわかります。

4

1 に答える 1

0

「通常のスクリーン」サイズとは、スクリーンのくぼみの数がまったく同じであることを意味するものではありません。物理的なサイズがすべて類似している、さまざまな画面サイズが多数含まれているバケットと考える必要があります。

したがって、固定サイズのマージンとパディングを使用しても、(簡単に) 必要な効果が得られません。したがって、質問を明確にし、正確に達成したいことの例を挙げてください。

于 2012-04-10T11:51:19.397 に答える