android中常用的單位轉換
阿新 • • 發佈:2019-01-30
public class UnitUtil { /** * 將px值轉換為dip或dp值,保證尺寸不變 * @param context * @param pxValue * @return */ public static int px2dip(Context context,float pxValue){ final float scale=context.getResources().getDisplayMetrics() .density; return (int)(pxValue/scale+0.5f); } /** * 將dip或dp值轉換為px值 * @param context * @param dipValue * @return */ public static int dip2px(Context context,float dipValue){ final float scale=context.getResources().getDisplayMetrics() .density; return (int)(dipValue*scale+0.5f); } /** * 將px轉換為sp值,保證字型不變 * @param context * @param pxValye * @return */ public static int px2sp(Context context,float pxValye){ final float fontScale=context.getResources().getDisplayMetrics().scaledDensity; return (int)(pxValye/fontScale+0.5f); } /** * 將sp值轉換為px值 * @param context * @param spValue * @return */ public static int sp2px(Context context,float spValue){ final float fontScale=context.getResources().getDisplayMetrics().scaledDensity; return (int)(spValue*fontScale+0.5f); }