5

非常に多くのデバイスや画面と互換性のあるレイアウトを作成したい。私が調査していると、最も一般的な画面解像度は 249x320、480x800、600x1024、720x1280 (およびこれらに比例する他の画面) であることがわかりました。

さて、ドキュメントを読んだ後、それを行うには2つの方法があることがわかりました。3.2 Android バージョンまでは、「small、normal、large、xlarge」などのレイアウトに修飾子を使用し、それらを「port」(縦向き) または「land」(横向き) と組み合わせることができました。

現在、2 番目の方法 (これが最も推奨されているようです) は、Android 3.2 以降のバージョンでのみ機能します。画面の向きに関係なく、レイアウトを使用する必要がある最小の幅を指定する必要があります (???)。

2 番目の方法を使用する場合、port 修飾子または land 修飾子を指定できないという事実については、1 番目の方法をお勧めします。私の質問は: 最初の方法は Android 3.2 以降のバージョンと互換性がありますか? Android < 3.2 には最初の方法を使用し、Android > 3.2 には 2 番目の方法を使用する必要がありますか? その場合、2 つのプロジェクトを作成するか、これら 2 つの方法を組み合わせる必要があります (一般的なサイズの修飾子と特定の最小幅の修飾子に対して、約 10 のレイアウト サイズを作成します)。それにはより多くのリソースが必要になると思います。

私の悪い言葉に感謝し、申し訳ありません。

4

2 に答える 2

1

Android では、ピクセルに基づいてレイアウトを設計するのではなく、密度に依存しないピクセル (dip または dp) に基づいてレイアウトを設計します。これらは、デバイスのインチあたりのドット数によってスケーリングされたデバイス ピクセルです。Android には 4 つの一般的な画面密度バケットがあり、適切なフォルダー (res/drawable-ldpi、res/drawable-mdpi、res/drawable-hdpi、res/drawable-xhdpi) の下にそれぞれのドローアブルを提供する必要があります。

多数のデバイスと互換性のあるレイアウトを作成する他の方法は、9png の伸縮可能なグラフィックスを使用し、寸法を dp に依存する XML ドローアブルを使用することです。

Android 画面サポートに関する推奨資料:
http://developer.android.com/guide/practices/screens_support.html

最小幅修飾子に関する限り、最小幅がピクセルではなく dp で指定されているという事実を見逃しています。このセクションの表 2 を確認してください:
http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

最初の方法は、Android 3.2 以降を含むすべてのデバイスで機能します。

于 2012-04-10T18:39:00.523 に答える