私はstackoverflowでこの問題を議論している多くのスレッドを見てきました( this 、 this 、 this など)、そして複数の画面のサポートに関するドキュメントを読みました、およびデザイン。しかし、ドローアブルのフォルダ構造とさまざまな画面のレイアウトについてはまだはっきりしていません
私はAndroid携帯電話とタブレットをサポートするアプリに取り組んでいます。そして私のプロジェクトはいくつかの画像を表示していますが、可能な限り高品質で表示する必要がありますAndroidそして、これらすべての解像度で設計するようにデザイナーに指示する必要があります。
ドキュメントから、次の解決策のためにドローアブルを追加する必要があるようです(ドローアブルフォルダ名は最後に記載されています)、
1) 240 x 320 - Phone LDPI -> drawable-ldpi
2) 320 x 480 - Phone MDPI -> drawable-mdpi
3) 480 x 800 - Phone HDPI -> drawable-hdpi
//Now for tablets
4) 1024x600 - Tablet LDPI -> ??
5) 1280x800 - Tablet MDPI -> ??
6) 1536x1152 - Tablet HDPI -> ??
7) 2560x1600 - Tablet XHDPI-> ??
サポートから 複数画面のドキュメント 、次のようなフォルダを使用できるようです
1) drawable-sw600dp ( a 7” tablet (600x1024 mdpi).)
2) drawable-sw720dp (a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
しかし、解像度が1536x1152、2560x1600などのタブレットはどうでしょうか。10フィートの解像度範囲(720 x 1280など)は小さいようです。私のクライアントには解像度2560×1600のNexus 10があり、アプリに完璧に見えます。
私は、9つのパッチ画像、wrap_content
を使用したレイアウト、およびそのような他のグッドプラクティスについて知っています。しかし、このプロジェクトでは、必要に応じて、すべての一般的な画面でより鮮明に表示される画像がいくつかあり、少なくともバンドルにはそれらの画像のいくつかのバージョンが必要です。
では、デザイナーにどのような解像度を伝える必要がありますか?そして、正しいフォルダ名を付けてバンドルに分類するにはどうすればよいですか。
実際、タブレットはdpiではなくサイズで分類されています。つまり、7 "タブはdrawable-large
であり、10"タブはdrawable-xlarge
です。また、drawable-large-hdpi
のようにdpiで分類できるようになりました。これは、高密度の7インチのタブであることを意味します。
SW
最小幅の概念を使用して、それをターゲットにすることができます。 複数の画面をサポートするアプリケーションスケルトン を参照して、同じものを計算してください。
タブレットタブレットは2つのサイズに分類されます。
7 "(1024X(600-48(ナビゲーションバー)))= 1024 X 552(描画可能-大)
10 "(1280X(800-48(ナビゲーションバー)))= 1280 X 752(描画可能-xlarge)
2560x1600の場合、式を使用してSWdpを計算します
px =デバイスの幅
dpi =デバイスの密度
与えられた式
px = dp * (dpi / 160)
pxの値がある場合は、数式を交換します
dp = px / (dpi / 160)
だからdrawable-swxxxdpが仕事をします
AFAIKには、デバイスの表示には、ピクセル密度と画面サイズの2種類の変数があります。どちらも理論的には独立していますが、市場では両方ともローエンドからハイエンドデバイスまでさまざまです。
ピクセル密度には、さまざまなビットマップ解像度と詳細レベル(たとえば、36X36から96X96のアイコン)が必要です。
画面のサイズには、不動産のより良い使用が求められます(たとえば、電話のマルチアクティビティレイアウト、タブレットの断片化されたレイアウトの組み合わせなど)。ピクセル密度ほど重要ではありませんが、タブレットユーザーは電話のレイアウトがあまりにも当たり障りがなく、画面スペースを浪費する可能性があるため、持っておくとよいでしょう。
そう:
ほとんどのピクセル密度をカバーするには、異なる ドローアブルのバージョン :ldpi,mdpi,hdpi and xhdpi
が必要になります。 9パッチのドローアブルを好む、これらはどこにでもフィットするのにはるかに優れています。
ほとんどの画面サイズをカバーするには、small,large and xlarge
値に対して異なる レイアウト配置 、および レスポンシブレイアウトデザイン が必要になります。また、縦向きや横向きのレイアウトが異なる場合もあります。
Androidでは、構成の組み合わせを混在させることもできます。例えば。 drawable-large-hdpi
など。
ハードコードされたピクセルの調整と寸法は絶対に避け、密度またはパーセンテージを使用してください。
その異なる画面サイズに対して異なるドローアブルを持つよりも、1つの柔軟な9パッチドローアブルを持つ方がはるかに優れています。
Drawable-xxhdpiのようなドローアブルにxxhdpiを使用することもできます
xxhdpi(480dpi、Android 4.1以降)
または、次のリンクの「Android表形式の列」を参照してください
私が使用するようになったのは:
このアプローチを検証する可能性があります。つまり、-sw600dpと-sw720dpを使用しますが、今のところは機能します。