4

私のプロジェクトでは、私のデザインはAndroid HTC 2.3.4で正常に機能していますが、4.0.1では画面が完全に表示されません(一部のデザインは下から切り取られています)。なんで?

4

3 に答える 3

21

コードを投稿していないので、Androidのレイアウトとリソースの概要を簡単に説明します。

アプリ用に複数のリソースを作成する必要があります。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

于 2012-10-05T08:58:26.130 に答える
3

ここでは、デバイスの画面と密度に関するドキュメントを送信します。これは、どのデバイスがどのフォルダから画像を取得するかを理解するのに役立ちます...!アンドロイドの画面サイズと密度

于 2013-07-04T07:06:55.650 に答える
1

1つのレイアウトが、さまざまな画面サイズすべてで常に機能するとは限りません。androidには少なくとも4つの異なる画面サイズ(小、中、大、特大)があるため、スマートな方法でdp(密度ピクセル)を使用するか、画面解像度ごとに異なるレイアウトを使用する必要があります(個人的にお勧めします)

これを行う方法は、以下に示すように、必要なレイアウトのタイプごとにフォルダーを作成することです。http://developer.android.com/guide/practices/screens_support.htmlからの引用:たとえば、以下は、さまざまな画面サイズのさまざまなレイアウトデザインと、中程度のさまざまなビットマップドローアブルを提供するアプリケーションのリソースディレクトリのリストです。高密度、および超高密度スクリーン。

res / layout / my_layout.xml //通常の画面サイズのレイアウト(「デフォルト」)

res / layout-small /my_layout.xml//小さな画面サイズのレイアウト

res / layout-large /my_layout.xml//大画面サイズのレイアウト

res / layout-xlarge /my_layout.xml//特大画面サイズのレイアウト

res / layout-xlarge-land /my_layout.xml//横向きの特大のレイアウト

ただ使うこともできます

<supports-screens android:smallScreens="false" 

マニフェストで、使用可能な画面サイズを選択します。ただし、画面のサイズが異なると、ストアからダウンロードできなくなります。

于 2012-10-05T09:01:30.233 に答える