2012-02-13 3 views
9

ldpi、mdpi、hdpi、またはxhdpiのいずれかのアプリケーションを実行しているときに、どのdrawableリソースが使用されているかを知りたい。どのdrawbleリソースが使用されているか調べるには?

+0

[この記事を見てください](http://stackoverflow.com/a/4766229/593709) –

+0

私はしばらく前にそのためのアプリを作成することになった:https://play.google。 co.jp/store/apps/details?id = com.roysolberg.android.developertools –

答えて

7

あなたはhereを説明するように、あなたのデバイスの表示プロパティを取得し、その後リソースがこのリストに対して結果を比較することで、実行時に使用されているかを判断することができるはずです。

  • LDPI:低密度画面;約120dpi。
  • mdpi:中濃度(従来のHVGA)画面。約160dpi。
  • hdpi:高密度画面。約240dpi。
  • xhdpi:超高密度スクリーン。約320dpi。 APIレベル8で追加されました
  • nodpi:デバイス密度に合わせて拡大縮小したくないビットマップリソースに使用できます。
  • tvdpi:mdpiとhdpiの間のどこかの画面。約213dpi。これは「プライマリ」密度グループとはみなされません。主にテレビを対象としており、大部分のアプリはそれを必要としません。つまり、mdpiやhdpiリソースを提供するだけで十分です。 4:6:8スケーリング

    が3あります。この修飾子は、あなたの質問に関連するかもしれないあなたが次のことを推測することができ、この情報から、APIレベル13

で導入されました4つの主要な濃度の間の比(tvdpi密度を無視する) 。したがって、ldpiの9x9ビットマップは、 mdpiで12x12、hdpiで18x18、xhdpiで24x24です。

1

これは正確な答えはありませんが、あなたが見て撮影しています(中密度のためのリソース:低密度(LDPI)画面(〜120dpi)
MDPIのための資源:http://developer.android.com/guide/practices/screens_support.html

LDPI MDPI)画面(〜160dpi)
hdpi:余分な高密度のためのリソース(xhdpi)画面(〜320dpi)

これらは一般的です:高密度(hdpi)画面(〜240dpi)
xhdpiのためのリソースガイドラインは完璧ではありませんが、かなり良いスタートです。

4

これは、デバイスの画面の密度を知ることで判断できます。

getResources().getDisplayMetrics().densityDpi 

それはDENSITY_LOW、DENSITY_MEDIUM、またはDENSITY_HIGHのいずれかになります。

1

レイアウトフォルダからxmlファイルを開きます。下にグラフィカルレイアウトタブがあります。そこにxmlファイルのグラフィカルな表示が表示されます。左上隅には、描画可能オブジェクトをテストする異なる解像度を選択します。それに応じてビューが更新されます。

0

これを見つけるためのサンプルコードを示します。 いくつかの異なるドロアブルを別々のフォルダに配置し、どの画像がデバイスによって自動的にピックアップされるかを確認するだけです。

http://droidschools.com/archives/63

3

あなたはまず、あなたのデバイスの密度を取得する必要があります。

int density= getResources().getDisplayMetrics().densityDpi; 

switch(density) 
{ 
case DisplayMetrics.DENSITY_LOW: 
    Toast.makeText(context, "LDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_MEDIUM: 
    Toast.makeText(context, "MDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_HIGH: 
    Toast.makeText(context, "HDPI", Toast.LENGTH_SHORT).show(); 
    break; 
case DisplayMetrics.DENSITY_XHIGH: 
    Toast.makeText(context, "XHDPI", Toast.LENGTH_SHORT).show(); 
    break; 
} 
関連する問題