Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android drawable文件夾的使用

Android drawable文件夾的使用

編輯:關於Android編程

開學到現在一直都在學著去搞明白一個簡單的游戲。寫完代碼之後,發現主界面顯示的某些圖片比正常的大了許多。
本來以為是代碼寫錯了,反反復復,來來回回的檢查代碼,真心沒有錯誤。。。崩潰了!!!
後來就嘗試著把圖片從drawable-mdpi中移動到了hdpi文件夾下,在運行程序的時候,竟然好了!!
MyGod,越是簡單的東西就越容易出錯。也只能怪自己學的不扎實不透徹了。在網上找到一些解釋:
android為開發者提供了兩種解決適配問題的辦法,第一種方式是使用dip的單位(dip: device independent pixels(設備獨立像素). 
不同設備有不同的顯示效果,這個和設備硬件有關,一般我們為了支持WVGA、HVGA和QVGA 推薦使用這個,不依賴像素);
另一種是使用不同的drawable文件夾,如下圖:
\

-hdpi    近似於240dpi的高級顯示密度的屏幕
-mdpi    近似於160dpi的中級顯示密度的屏幕
-ldpi    近似於120dpi的低級顯示密度的屏幕
-xhdpi   近似於320dpi的超高級顯示密度的屏幕

圖片縮放比列為 3 :4:6:8   ldpi,mdpi,hdip,xhdip
Android系統會手機屏幕的大小及屏幕尺寸去選擇不同文件夾下的圖片資源,以此來實現在不同大小屏幕分辨率下適配的問題。
比如在一個低分辨率的手機上,Android就會選擇ldpi文件夾下的圖片,但是如果沒有在ldip的文件夾下找到相關的資源文件,
Android系統會首先從hdpi文件夾中選擇文件,然後對圖片資源進行縮放處理,顯示在屏幕上;如果hdpi文件夾下也沒有的話,
會在默認的drawable文件夾中尋找。因此圖片放錯文件夾的話,就會顯示大小不同。如圖正常顯示的圖片:
\

放大後的圖片:
\
出現第二個圖的原因是將hdpi下的圖片放到了默認的文件夾下。
本身是同一張圖片,由於系統沒有在hdpi文件夾中找到對應圖片,在默認的文件夾下找到了,但是這時系統會認為該圖適用於中等分辨率的屏幕,
如果直接放到高分辨率的手機上不能適配,所以系統會自動的將圖片放大,所以雖然是同一張圖片,但是現實出來就是一個正常,一個被放大。
同理,如果同一張圖片,放在ldpi的文件夾下,在低分辨率的手機上顯示正常,但是如果放在hdpi文件夾中,系統認為該圖是高分辨率顯示的,
要將圖片縮小處理,所以顯示出來的效果就是圖變小了。
所以才會出現明明是一張圖片,只是放在不同的文件夾中,顯示出來的效果就不同!
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved