私はAndroidプロジェクトに取り組んでいます。
画像 (320*480) を mdpi フォルダーに入れました。Android 開発者サイトには、480*800 タブレット (7 インチ) も mdpi- フォルダーから画像を取得するという情報がいくつかあります。7 インチ タブレットがその mdpi- フォルダーから画像を取得すると、サイズが小さくなります。mdpi- フォルダーは 1 つしかないので、正確に管理するにはどうすればよいですか。
私はAndroidプロジェクトに取り組んでいます。
画像 (320*480) を mdpi フォルダーに入れました。Android 開発者サイトには、480*800 タブレット (7 インチ) も mdpi- フォルダーから画像を取得するという情報がいくつかあります。7 インチ タブレットがその mdpi- フォルダーから画像を取得すると、サイズが小さくなります。mdpi- フォルダーは 1 つしかないので、正確に管理するにはどうすればよいですか。
画面サイズと画面密度を混同しないでください。画面サイズに関連する修飾子 (small、normal、large など) と、密度に関連する修飾子 (ldpi、mdpi など) があります。
これらの修飾子を組み合わせることもできます。たとえばdrawable-normal-mdpi
、mdpi 密度の通常の画面 (電話) を持つデバイスで使用されるリソースを配置できます。
ldpi、hdpi、xhpiフォルダーも作成する必要があります。そして、比率を計算して同じ名前で画像をコピーする必要があります。
ldpi - mdpi - hdpi - xhdpi
3 4 6 8
4 つのプライマリ密度の間には 3:4:6:8 のスケーリング比があります (tvdpi 密度は無視)。したがって、ldpi の 9x9 ビットマップは、mdpi では 12x12、hdpi では 18x18、xhdpi では 24x24 です。
画像リソースがテレビやその他の特定のデバイスで十分に見えないと判断し、tvdpi リソースを試してみたい場合、倍率は 1.33*mdpi です。たとえば、mdpi 画面の 100px x 100px の画像は、tvdpi では 133px x 133px にする必要があります。
代替リソースの提供に関する Android 開発者向けドキュメントを読む必要があります。
この同様の質問に対する私の答えから:
ImageView は、その中の画像をデバイスの正しい解像度でレンダリングします。リソースの提供に関するドキュメントに従って、解像度の種類ごとに適切な DPI でリソースを提供していることを確認する必要があります。Android は最適なリソース解像度を選択しますが、リソースが 1 つしか存在しない場合は、そのリソースを選択し、デバイスの解像度でレンダリングしようとします。
そのため、デバイスの正しい DPI を見つけて、(正しい DPI で) 画像をそのフォルダーに追加すると、正しいサイズで表示されます。画像が間違ったフォルダに配置されている場合、異なるサイズで表示されます。もう 1 つの便利なリンクは、Density Independenceのドキュメントです。
注: デバイスが HDPI デバイスであると仮定しましょう。res/drawables/drawable-hdpi
フォルダーはプロジェクトに存在しない場合がありますが、手動で追加することができます。