1.高度定义:代码中定义的高度是像素,而在xml文件中定义的dp是单位密度,转换为
/** * dp转换成px,代码写的是像素,而XML中写的是单位密度 * @param context * @param dp * @return */ public static int Dp2Px(Context context, float dp) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dp * scale + 0.5f); } /** * px转换成dp,代码写的是像素,而XML中(dp)写的是单位密度 * @param context * @param px * @return */ public static int Px2Dp(Context context, float px) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (px / scale + 0.5f); }
2.字体设置
setTextSize(TypedValue.COMPLEX_UNIT_PX,22); //22像素
setTextSize(TypedValue.COMPLEX_UNIT_SP,22); //22SP
setTextSize(TypedValue.COMPLEX_UNIT_DIP,22);//22DIP