2

この画面で Android アプリを作成する必要があります (既存の iOS アプリの Android バージョンになります)。 ここに画像の説明を入力

いくつかの画像、ボタン、およびテキスト ラベルが、互いに相対的な非常に特定の位置にあることがわかります。

問題は、Android デバイスの画面サイズと寸法が非常に多様であることです。異なる画面で要素の相対的なサイズを維持する方法は?

この写真を例にとると、たとえば、画面の幅と円の半径の比率を計算できます。しかし、多数の Android 画面でこの比率を維持するにはどうすればよいでしょうか。

4

1 に答える 1

4

アプリ用に複数のリソースを作成する必要があります。Android には 4 つの解像度 (ldpi、mdpi、hdpi、xhdpi) と 4 つの一般的な画面サイズ (小、中、大、特大) があります。したがって、画面サイズをサポートするには、4 つのレイアウト (タブレットをサポートする予定がない場合は 3 つ) を作成する必要があります。タブレットは特大のカテゴリに分類されるためです。

一般的なガイドは次のとおりです。

次のように、小、中、大、特大のレイアウトを res/ フォルダーに配置します。

res/layout/sample_layout.xml             // default layout
res/layout-small/sample_layout.xml       // layout for small screen size
res/layout-large/sample_layout.xml       // layout for large screen size
res/layout-xlarge/sample_layout.xml      // layout for extra large screen size

あなたも使うことができます

res/layout-land/sample_layout.xmlすべての画面サイズの横向きの場合、または特定の画面サイズの横向きレイアウトを次のようにターゲットにすることができます。res/layout-medium-land/sample_layout.xml

すべてのレイアウトが同じ名前であることに注意してください。

レイアウトの準備ができたら、画像の解像度にも注意する必要があります

もう一度 res/ フォルダーに次のような画像を追加します。

res/drawable-ldpi/sample_image.png         // low density
res/drawable-mdpi/sample_image.png         // medium density
res/drawable-hdpi/sample_image.png         // high density
res/drawable-xhdpi/sample_image.png        // extra high density

繰り返しますが、すべての画像は同じ名前です。

イメージをデザインするための一般的なガイドラインは次のとおりです。

ldpi is 0.75x dimensions of mdpi
hdpi is 1.5x dimensions of mdpi
xhdpi is 2x dimensinons of mdpi

通常、私は 320x480 画面用に mdpi 画像を設計し、上記のルールに従って寸法を乗算して、他の解像度用の画像を取得します。

Android は、デバイスに応じてレイアウトと画像の最適な組み合わせを自動的に選択します。たとえば、高解像度の中サイズのデバイスの場合、レイアウト中程度の高密度の画像がユーザーに表示されます。

これらすべての組み合わせに対してエミュレーターを作成し、アプリを徹底的にテストしてください。詳細については、公式ドキュメントをご覧ください。

https://developer.android.com/guide/practices/screens_support.html

測定単位については、density independent pixels (dp or dip)複数の解像度で相対的な高さ、距離などを安定した方法で維持するものを使用できます。

于 2012-11-06T08:11:36.027 に答える