Android中圖片與屏幕密度

在drawable中的圖片在不同密度的設備上顯示時,在屏幕上的佔比是不一樣的。

如:160px的圖片,在800x480的屏幕上顯示:

密度是:

160dpi時,佔屏幕的三分之一  (=160px/480px)。

240dpi時,佔屏幕的二分之一(>160px/480px)。


如何保持圖片在不同密度的設備上,圖片顯示相同的像素數?

方法A:

爲不同密度的設備,準備相應的圖片,放在對應的drawable-?dpi中。

優點:可以爲不同密度的設備,準備對應密度的圖片,可以做到圖片在哪種密度上都很清晰細膩。

缺點:圖片比較多,增加圖片製作的工作量;

方法B:

只准備一組圖片,將圖片放到drawable-nodpi中。

優點:減少了圖片的數量;

確定:圖片可能被拉伸而導致不細膩;

方法C:

使用px指定圖片的大小


理解DPI

  是密度density的測量單位,dots per inch 每英寸內的像素數。

理解DIP

是指定大小的單位,device independent pixels設備獨立像素,應該是Density-independent pixel 即與設備的密度無關,有DIP指定的控件大小,在不同密度的設備上,顯示的大小相仿。

pixels = dip * (density / 160).


注:顯示圖片的大小與圖片本身的dpi沒有關係。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章