px 1px代表屏幕上一個物理的像素點;同樣100px的圖片,在不同手機上顯示的實際大小可能不同,一般不建議使用
dip = dp
device independent pixels(設備獨立像素)與“像素密度有關”,標準是160dip.即1dp對應1個pixel,,屏幕密度越大,1dp對應 的像素點越多,屏幕圖像越細膩。
sp: scaled pixels(放大像素). 主要用于字體顯示best for textsize。
px與dp和sp之間的轉換方法,常用語Android 自定義控件中畫圖。
這里寫代碼片//px轉換為dppublic int dp2px(int dpVal){ return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpVal, getResources().getDisplayMetrics()); //TypedValue.COMPLEX_UNIT_DIP表示想要得到的單位,dpVal是想要得到單位的數值 //getResources()這個方法就可以獲取存在系統的資源 //getDisplayMetrics() } //px轉換為sp public int sp2px(int spVal){ return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spVal, getResources().getDisplayMetrics()); }新聞熱點
疑難解答