私はアンドロイドに不慣れで、ドローアブルの概念に関するクエリが1つだけあります:- 「プロジェクトのすべての画像をすべて入れた場合-ドローアブル-hdpi、ドローアブル-mdpi、ドローアブル-ldpiは、フェッチされた画像が自動的に行われます画面サイズと密度の基準」 . または、すべてのドローアブルでイメージの複数のコピーを作成しても意味がありません..??
3 に答える
コンセプトは次のとおりです。Androidは画面サイズとピクセル密度に応じて画像をアップスケール/ダウンスケールできますが、完全ではない可能性があり、このプロセスには計算能力がかかります。写真編集プログラムを使用して、見た目どおりに小さい/大きい写真を正しく作成している場合は、より良い結果が得られ、より速く取得できます。
http://developer.android.com/guide/topics/resources/pproving-resources.html#AlternativeResources。リンク内のAndroidドキュメントには、ドローアブルの代替リソースの提供に関する詳細が記載されています。
私はまた、受け入れられた答えがトピックに関する良い説明を持っているリンクを見つけました。drawable、drawable-ldpi、drawable-mdpi、drawable-hdpiの違いを説明します。
ドローアブルは、画面のサイズと密度に基づいてAndroidによってフェッチされます。密度ごとに特別なドローアブルを提供しない場合、Androidは利用可能な最も近いドローアブルを自動的にスケーリングします。一部のデバイスでドローアブルをスケーリングすると、奇妙に見える場合があります。したがって、画面のサイズと密度に基づいてさまざまなドローアブルを提供することをお勧めします。
はい、フェッチされる画面サイズに基づいてどのように機能するかです。アプリの設計方法に応じて、グラフィックアセットにはさまざまなアプローチがあります。さまざまなフォルダーの計算は次のとおりです。
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
Generalised Dpi values for screens:
ldpi Resources for low-density (ldpi) screens (~120dpi)
mdpi Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.)
hdpi Resources for high-density (hdpi) screens (~240dpi).
xhdpi Resources for extra high-density (xhdpi) screens (~320dpi).
Therefore generalised size of your resources (assuming they are full screen):
ldpi
Vertical = 426 * 120 / 160 = 319.5px
Horizontal = 320 * 120 / 160 = 240px
mdpi
Vertical = 470 * 160 / 160 = 470px
Horizontal = 320 * 160 / 160 = 320px
hdpi
Vertical = 640 * 240 / 160 = 960px
Horizontal = 480 * 240 / 160 = 720px
xhdpi
Vertical = 960 * 320 / 160 = 1920px
Horizontal = 720 * 320 / 160 = 1440px
px = dp*dpi/160
また、opengl や surfaceview などを使用して画面に描画している場合は、assets フォルダーに画像のコピーを 1 つ作成し、描画時に画面に引き伸ばして、描画可能なフォルダーにアイコンを保存するだけで、方法に応じてさまざまなアプローチが可能です。あなたがアプリをデザインすることは、私が言おうとしていることです