dp和px、sp和px的相互转化的工具类

来源:互联网 发布:java 写成绩划分 编辑:程序博客网 时间:2024/06/04 23:23
import android.content.Context;import android.content.res.Resources;public class DensityUtil {/**      * 根据手机的分辨率从 dp 的单位 转成为 px(像素)      */      public static int dip2px(Context context, float dpValue) {          final float scale = context.getResources().getDisplayMetrics().density;          return (int) (dpValue * scale + 0.5f);      }      /**      * 根据手机的分辨率从 px(像素) 的单位 转成为 dp      */      public static int px2dip(Context context, float pxValue) {          final float scale = context.getResources().getDisplayMetrics().density;          return (int) (pxValue / scale + 0.5f);      }  /** * sp转px. */public static int sp2px(Context context,float value) {Resources r;if (context == null) {r = Resources.getSystem();} else {r = context.getResources();}float spvalue = value * r.getDisplayMetrics().scaledDensity;return (int) (spvalue + 0.5f);}/** * px转sp. */public static int px2sp(Context context,float value) {final float scale = context.getResources().getDisplayMetrics().scaledDensity;return (int) (value / scale + 0.5f);}}

0 0
原创粉丝点击