0

アンドロイドのバージョンは 2.2 です。また、アプリはフォルダーをサポートdrawable-xhdpiしません。drawable-xlargeただし、さまざまなモバイルからさまざまな画面サイズを処理しているときに、多くの問題に遭遇しました。

drawable-ldpi, drawable-mdpi, drawable-hdpi最初の問題は、アンドロイドがフォルダーから正しい画像をロードする状況を知りたいということですか? 各フォルダー (drawable-ldpi、drawable-mdpi、drawable-hdpi) には 1 つのイメージがあります。

(1) drawable-ldpi の場合は 240px x 150px
(2) drawable-mdpi の場合は 320px x 200px
(3) drawable-hdpi の場合は 480px x 300px

しかし、出力デバイスの幅の画面が 480px の場合、正しい画像が表示されないのはなぜですか? 出力デバイスには 320px 幅の画像しか表示されませんでした。480px の画像ではありません。問題は、私が見逃しているものは何ですか?

次に、すべてのドローアブル フォルダーの名前を drawable-small、drawable-normal、drawable-large に変更しました。drawable-large は 480px 幅の画像を表示できるようになっています。こうすればよろしいでしょうか?

2 番目の問題は、一部の samsung デバイスの画面解像度が異なることです。800px 幅の画面に 800px 幅の画像を表示し、900px 幅の画面に 900px 幅の画像を表示したいので、これらの画面解像度をサポートする方法を知りたいですか? どの方法でも異なる画面解像度を実行できますか? 多くの人は、drawable-xhdpi フォルダーが画像の自動スケーリングの問題を解決できると述べています。自動スケーリングできる画像が表示されません。多分私はいくつかのステップを見逃しています。

親切なアドバイス。

どうもありがとう。

4

1 に答える 1

6

これについてより良い洞察を提供できるように努めます。

画面は、多かれ少なかれ 4 つの異なるカテゴリに分けることができます。

  1. 低密度
  2. 中密度 (ベースライン)
  3. 高密度
  4. 超高密度

最近はxxhdpiも取得します...

  • 低密度 = ldpi (120dpi)

  • 中密度 = mdpi (160dpi)

  • 高密度 = hdpi (240dpi)

  • 超高密度 = xhdpi (320dpi)

別の良い例は、Android 開発者ページからのものです。

http://developer.android.com/images/screens_support/screens-ranges.png

デバイスとそのピクセル密度のリストは、次の場所にあります。

  • h ttp://en.wikipedia.org/wiki/List_of_displays_by_pixel_density

  • h ttp://checkscreensize.appspot.com/listdevice.jsp

さまざまなデバイスをサポートするために、常に複数のレイアウト/ドローアブルを使用してアプリを設計します。サムスンのデバイスだけでなく、ほとんどのブランドは、ピクセル密度と解像度が異なるさまざまなデバイスを持っています。

要するに、複数のリソースを提供することで、Android は現在のデバイスに最適な適切なものを選択し、特定のレイアウトまたは描画可能なフォルダーにリソースが見つからない場合は、その名前の次善のレイアウト/リソースを使用します。

これは、ドローアブルとレイアウトの引き延ばしや不適切なスケーリングを避けるためであることに注意してください。

複数のレイアウトをサポートするには?

あなたのマニフェストファイルに。

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
  • 画面サイズごとに異なるレイアウトまたはドローアブルを提供します。

現在、これを行うには複数の方法があり、一部の方法は SDK レベルに依存しています。

  • Android 3.2 / API 13 より前では、layout-small/normal/large/xlarge を使用します。
  • Android 3.2 / API 13 以降では、layout-hdpi や layout-sw600dp などを使用してください。

以下は、それらの間にダッシュを配置することにより、使用できる修飾子の公式表です。

一般的に、タブレットではランドスケープ モード用にのみデザインすると思います。したがって、これらと次のもののみを使用することを検討できます。

  • レイアウト-ldpi
  • レイアウト-mdpi
  • レイアウト hdpi
  • レイアウト-xhdpi
  • レイアウト大
  • レイアウト大地
  • レイアウト特大
  • レイアウトxラージランド

そしてあなたのドローアブルのために:

  • drawable-ldpi
  • drawable-mdpi
  • ドローアブル hdpi
  • ドローアブル-xhdpi

さらに、デフォルトで、現在、電話 (4) およびタブレット (2) 用のプロファイル ldpi、mdpi、hdpi、xhdpi に全体的に最適な 6 つの異なるデバイス用に設計することを選択しています。

  • Samsung Galaxy S3 (720x1280、xhdpi、通常の画面サイズ)
  • Samsung Galaxy S2 (480x800、hdpi、通常の画面サイズ)
  • Samsung Galaxy Ace Plus (320x480、mdpi、通常の画面サイズ)
  • Samsung Galaxy Mini (240x320、ldpi、通常の画面サイズ)
  • Samsung Galaxy Tab 10.1 (800x1280、mdpi、特大画面サイズ)
  • Samsung Galaxy Tab 7.0 (600x1024、hdpi、大画面サイズ)

これらのデバイス向けに設計することで、アプリが他のほとんどのデバイスでも適切に機能することが保証されます。

この情報がお役に立てば幸いです。

于 2013-01-22T16:04:51.497 に答える