2

私のAndroidアプリでは、一部の画像を「mdpi」に保持し、 「ldpi」に残しています。また、私のアプリはさまざまなデバイス(仮想およびモバイル)で適切に動作しています。画像は、デバイスの解像度で取得されると想定されていませんか。どうして表示されるの???

4

4 に答える 4

1

mdpi と ldpi はオーバーライドです。Android が探している名前でドローアブルを見つけた場合はそれを使用しますが、複数の画像が異なる解像度で存在する場合は、最も近いものを選択します。

于 2013-02-18T07:14:29.423 に答える
1

デフォルトでは、Android はビットマップ ドローアブル (.png、.jpg、および .gif ファイル)Nine-Patchドローアブル(.9.png ファイル)をスケーリングして、各デバイスで適切な物理サイズでレンダリングします。

たとえば、アプリケーションがビットマップ ドローアブルのみを提供する場合baselinemedium screen density (mdpi)システムは高密度画面では拡大し、低密度画面では縮小します。このスケーリングにより、ビットマップにアーティファクトが発生する可能性があります。ビットマップが最高の状態で表示されるようにするには、画面密度ごとに異なる解像度の代替バージョンを含める必要があります。

密度固有のリソースに使用できる構成修飾子は次のとおりldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)です。たとえば、高密度画面のビットマップはres/drawable-hdpi.

画面に関する詳細については、こちらを参照してください。

于 2013-02-18T07:15:08.517 に答える
1

Android には、正しいドローアブルを選択するための非常に特殊なアルゴリズムがあります。外観は次のとおりです。

Android ドローアブルの選択

ここで詳しく説明されています:

http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch

于 2013-02-18T07:34:52.550 に答える
0

シナリオは次のとおりです。

レイアウト:-

res/layout/my_layout.xml             // layout for normal screen size ("default") (320 * 480)
res/layout-small/my_layout.xml       // layout for small screen size (240 * 320)
res/layout-large/my_layout.xml       // layout for large screen size (480 * 800/854)
res/layout-xlarge/my_layout.xml      // layout for extra large screen size (720/800 * 1280)

ドローアブル:-

res/drawable-mdpi/my_icon.png        // bitmap for medium density, used by layout-small & layout
res/drawable-hdpi/my_icon.png        // bitmap for high density, used by layout-large
res/drawable-xhdpi/my_icon.png       // bitmap for xtra-high density, used by layout-xlarge

それが役立つことを願っています。混乱がある場合は、質問してください。こちらも一度お読みくださいScreens Support APIs

ありがとう。

于 2013-02-18T07:27:05.087 に答える