drawable-(hdpi,mdpi,ldpi)的分別
dpi是「dot per inch」的縮寫,每英吋像素數。四種密度分類:
- ldpi (low),
- mdpi (medium)
- hdpi (high)
- xhdpi (extra high)
一般情況下的普通螢幕:
- ldpi是120dpi
- mdpi是160dpi
- hdpi是240dpi
- xhdpi是320dpi
WVGA,HVGA,QVGA的分別
- VGA是(Video Graphics Array),顯示標準為640*480。
- WVGA(Wide VGA)分辨率為480*800
- HVGA(Half VGA)即VGA的一半分辨率為320*480
- QVGA(Quarter VGA)即VGA非四分之一分辨率為240*320
drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的聯繫
- hdpi裡面主要放高解析度的圖片,如WVGA (480×800),FWVGA (480×854)
- mdpi裡面主要放中解析度的圖片,如HVGA (320×480)
- ldpi裡面主要放低解析度的圖片,如QVGA (240×320)
所以會造就你放一張圖1024x768的在ldpi,使用Bitmap類別內的getWidth()方法取得圖片寬的像素會不一樣就是因為這樣。
其實很簡單,只需要在res目錄下創建不同的layout文件夾,所有的layout文件在編譯之後都會寫入R.java裡,而系統會根據螢幕的大小自己選擇合適的layout進行使用。
在之前的版本中,只有一個drawable,而2.1版本開始有drawable-mdpi、drawable-ldpi、drawable-hdpi三個,這三個主要是為了支持多解析度。
所以千萬要好好善用Android賦予的各種drawable資料夾存放圖片喔!
![[Android基本概念] Bitmap getWidth 不一樣像素是因為有drawable-(hdpi,mdpi,ldpi)的分別 [Android基本概念] Bitmap getWidth 不一樣像素是因為有drawable-(hdpi,mdpi,ldpi)的分別](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGc-G3mZtLP0si_25TjokLw5WayN3nun1G7PRpA4TY0VpiF7L4jHswLIdI5jUyq25pjqgxSnFjbRkTlfQ_j3hhyGfZApXhMkGwIMLMYrXGILK68qZtStWGhLIvp4pdkW5flC6p0FzUsSQ/s640/1306080264-screenresolutions.png)
沒有留言 :
張貼留言