android 圖片資源文件對應的屏幕分辨率

dpi:“dot per inch”的縮寫,每英寸像素數。
drawable-ldpi的dpi爲120
drawable-mdpi的dpi爲160
drawable-hdpi的dpi爲240
drawable-xhdpi的dpi爲320

另外還得知道一個‘屏幕密度’的概念,呃,這個詞語是我自己杜撰的,其實就是知道android的一個規定:dpi爲160的屏幕密度爲1,其他照着算就行了。

獲取屏幕分辨率的代碼

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int width1 = dm.widthPixels;
    int height1 = dm.heightPixels;
    Toast.makeText(this, width1 + "*" + height1, Toast.LENGTH_SHORT).show();   
}
下面這段代碼的desity表示設備每英寸顯示160個物理像素,則會

drawable-mdpi下的圖片,爲1.5,

取drawable-hdpi,爲2,

取drawable-xhdpi,爲0.75,

取drawable-ldpi,看看手機屏幕的密度吧(800*1280,應該是2),

這樣就能確定到底是取的哪個目錄下的圖片,再進一步確定問題到底出現在哪。

DisplayMetrics metrics = null;             
metrics = new DisplayMetrics();             
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);             
float density = metrics.density;
我的手機是三星i9003,分辨率是480*800,測試過爲drawable-hdpi,之前一直很苦惱爲什麼一個42*42的圖片顯示出來是72*72,原來是我把它放在drawable-mdpi下了,鬱悶了半天
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章