工具篇——DensityUtil(dp与px的相互转换)

代码如下:

package com.gzqol.hb.mendianguanli.util;

import android.content.Context;

/**

* 通过代码完成dp与px的相互转换

* 1.dp转px

* 2.px转dp

*/

public class DensityUtil {

/**

* dp转px

* @param dip dp

* @param context 上下文

* @return

*/

public static int dip2px(float dip, Context context) {

float density = context.getResources().getDisplayMetrics().density;

int px = (int) (dip * density + 0.5f);// 4.9->4, 4.1->4, 四舍五入

return px;

}

/**

* px转dp

* @param px px

* @param context 上下文

* @return

*/

public static float px2dip(int px, Context context) {

float density = context.getResources().getDisplayMetrics().density;

float dp = px / density;

return dp;

}

}

在项目中的应用:

int dip2px = DensityUtil.dip2px(10, getApplicationContext());

float px2dip = DensityUtil.px2dip(10, getApplicationContext());

LogUtil.e("Density", "10dip2px = " + dip2px + ",10px2dip = " + px2dip);

附:

详情使用Demo(https://blog.csdn.net/qq941263013/article/details/80988321)

你可能感兴趣的:(工具篇——DensityUtil(dp与px的相互转换))