4

Android で複数の画面をサポートするための設計に関するドキュメントがたくさんあることは理解しています。ここのAndroidガイドと、このような多くの同様の質問を読みまし

ただし、アプリケーションにどのように実装する必要があるかについては、まだ少し混乱しています。次のデバイス構成をターゲットにする予定です

ここに画像の説明を入力

プロジェクトのレイアウトを次のように構成する必要があるという考えは正しいですか。

  • 中密度 通常画面 HVGA 320x480 (160dpi):

    res/layout-mdpi (320 x 480 )
    res/layout-land-mdpi (480 x 320 )
    
  • 高密度 通常画面 WVGA800 480x800 (x854) (240 dpi)

    res/layout-hdpi (480 x 800)
    res/layout-land-hdpi (800 x 480)
    

しかし、中密度の大画面デバイスについてはどうでしょうか。

高密度および中密度の両方のドローアブルのセットも使用する予定です。この初期段階での私の主な関心事は、各レイアウトに適切な背景画像を使用することです。たとえば、480x800 と 480x854 の両方のサイズをサポートするには、次のように ImageView を背景として単純に使用する予定です。

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/bg"
    android:scaleType="center"/>

「bg」ドローアブルは常に480x854で、以下を使用します。

android:scaleType="center"

これにより、これら 2 つの画面サイズが処理されることを願っています。これにより、画像は元の外観を維持しながら、480x800 画面の中央に表示されます。画像からいくつかのピクセルを失いますが、画像がスケーリングされていない限り、それは私のニーズに合っています。

通常の画面用に 320x480 のアセットのセットを用意する予定です。

ここで正しい手順に従っていることを願っていますので、皆さんからの情報/ヒントに感謝します. 前もって感謝します

4

1 に答える 1

3

私の経験では、さまざまな密度のドローアブルがある限り、小/中/大などの画面用にレイアウトをカスタマイズする必要はありません。ドキュメントにあるように、Android はさまざまな画面サイズでレイアウトを適切にレンダリングしようとします。

デフォルトでは、Android は現在のデバイス画面に合わせてアプリケーション レイアウトのサイズを変更します。ほとんどの場合、これで問題なく動作します。また、UI の見栄えが悪く、さまざまな画面サイズに合わせて調整が必要になる場合もあります。

「その他のケース」は、大きな画面でレイアウトを本当に変更したい場合にのみ適用されます。

を使用android:scaleType="center"するとうまくいきますが、あなたが言ったように、小さな画面にも収まる必要がある場合、大きな画面のレイアウトの周りに空のスペースが残ります。正確に配置する必要がある「ウィジェット」を含む完全にカスタマイズされたビューがあり、スケーリングをプログラムで決定してウィジェットに同じスケーリングを適用したくない場合は、これが間違いなく適しています。

于 2012-07-02T11:16:27.403 に答える