10

どの携帯電話がどのレイアウトの種類をサポートしているかを判断する方法について少し混乱します。私はいくつかの研究をしましたが、満足のいく答えは見つかりませんでした。どの電話機がどのレイアウトをサポートしているかを知るには(hdpi、mdpi、xhpi)?

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 

しかし、私はまだいくつかの懸念を持っている:

  1. サムスン壮大(480 * 800)HTCワイルド

    例えば、私は、以下のガイドを見つけました火災S(320 * 480)はどちらもMDPIをサポートしています。これらの画面は解像度が非常に異なりますが、レイアウトの種類は同じですか?

  2. ギャラクシーノート2(1280 * 720)はHDPIをサポートしています。 HD(720p)がHDPIのみの場合、どのデバイス/解像度がXHDPIをサポートしていますか?

  3. すでに関連する質問があります:How to set layout on 7" two different tablet?です。

  4. しかし、私の最も重要な質問は次のとおりです。どのデバイスまたは画面解像度が各レイアウトタイプをサポートしているかをどのように知っていますか?これらの詳細に

+0

なぜデバイスモデル名を知る必要がありますか? – ozbek

+0

すべてのデバイスの画面サイズを気にする必要はありません。異なるレイアウト(通常、hdpi、xhdpi)を作成すると、すべてのデバイスがそのdpiに従ってレイアウトを実行します。 BTW ...ギャラクシーノート2には267 dpiの画面があります。したがって、xhdpiレイアウトを使用します。 –

+0

私はこの質問をbcz私はあなたにチューブのビデオを表示することができますwebviewを使用しているので、そのショーのすべてのデバイス上の異なるGUI。 – duggu

答えて

12

Androidの扱いMDPI(160ピクセル/インチ)のレイアウトや画像を提供する必要がありますベース濃度。したがって、mdpiデバイスの場合1 dp = 1ピクセル。高密度では、1インチあたりより多くのピクセルがあります(hdpiでは240、xhdpiでは320)。

アンドロイド自体によって自動スケーリング:グラフィックイメージに関係なく、デバイス画素密度の画面上の同じ物理的寸法を占めるようにする

アンドロイド試みます。 だから、すべてがmdpiリソースでデバイスがhdpiなら240/160 = 150%の縮尺でxhdpiのグラフィックスのサイズを2倍にします。グラフィックの異なるバージョンを使用して

あなたは(グラフィックスが悪い見えるようにすることができます)この自動スケーリングをしたくない場合は、単にそれ以上での使用のためのグラフィックリソースの独自のバージョンを供給することができます密度。これらのグラフィックスは、Androidがmdpiリソースを拡張するのと同じサイズでなければなりません。

注:画像ファイルに保存されているピクセル/インチはこれとは関係ありません。これはすべて、あなたのプロジェクトのresourcesディレクトリにグラフィックスファイルを置く場所に基づいています。 res/drawableに配置されたグラフィックスは、res/drawable-mdpiに配置されたグラフィックスと同様に、mdpiディスプレイ用に適切なサイズになっているものとみなされます。 res/drawable-hdpiで見つかった画像ファイルは、hdpi表示などのために適切なサイズになっているものとします。あなたのプログラムが特定のデバイスで実行されると、Androidは最初にそのデバイスの表示密度と一致するグラフィックを探します。 1つを見つけられず、代わりに異なる濃度のものを見つけたら、それを使って、上記の規則に基づいて画像を自動的に拡大/縮小します。 LDPI、MDPIとhdpiとして

がピクセルは単一インチに収まることができるどのくらいの意味画面密度を指します。それらの間のピクセルで

比は:同じとスクリーンのため、

for mdpi it should be 100X100 
for ldpi it should be 75X75 
for hdpi it should be 150X150 
for xhdpi it should be 200X200 
for xxhdpi it should be 300X300 

この方法:

ldpi = 1:0.75 
mdpi = 1:1 
hdpi = 1:1.5 
xhdpi = 1:2 
xxhdpi = 1:3 

ので100X100のサイズについてで画像を撮ることができサイズは異なりますがDPIが異なると、すべての画像が画面上で同じサイズに見えます。

0

見て:アンドロイドは、それ自体でこのすべてを管理し、あなただけの相対的なフォルダのように

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml  // layout for extra large screen size 
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation 

res/drawable-mdpi/my_icon.png  // bitmap for medium density 
res/drawable-hdpi/my_icon.png  // bitmap for high density 
res/drawable-xhdpi/my_icon.png  // bitmap for extra high density 
関連する問題