代码中的高度和xml文件中的高度、字体解决办法

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

猜你喜欢

转载自blog.csdn.net/forzhers/article/details/79984425