Android根據分辨率進行單位轉換-(dp,sp轉像素px)

Android系統中,默認的單位是像素(px)。也就是說,在沒有明確說明的情況下,所有的大小設置都是以像素爲單位。

如果以像素設置大小,會導致不同分辨率下出現不同的效果。那麼,如何將應用中所有大小的單位都設置爲’dp’呢?

/**獲取當前分辨率下指定單位對應的像素大小(根據設備信息)
	 * px,dip,sp -> px
	 * 
	 * @param unit   TypedValue.COMPLEX_UNIT_DIP,TypedValue.COMPLEX_UNIT_SP
	 * @param value  要轉換的值
	 * @param context  上下文
	 * @return  轉換後的px值
	 */
	public static float dip2px(int unit,float value,Context context){
		return  TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value, instance.getResources().getDisplayMetrics());
	}


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