在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沒有關係。