package com.martin.simpledevelop.utils.density; import android.content.Context; import android.util.TypedValue; import com.martin.simpledevelop.utils.log.SaLogUtils; /** * @Description 单位转换 工具类<br> * 内部已经封装了打印功能,只需要把DEBUG参数改为true即可<br> * 如果需要更换tag可以直接更改,默认为MARTIN * @File SaDensityUtils.java * @Package com.martin.utils.density * @Date 2015年6月15日下午6:09:06 * @Author Donghongyu 1358506549@qq.com * @Version v1.0.0 */ public class SaDensityUtils { /** * Log 输出标签 */ public static String TAG = SaDensityUtils.class.getName(); /** * dp转px * * @param context * @param dpVal * @return */ public static int dp2px(Context context, float dpVal) { int result = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, dpVal, context.getResources() .getDisplayMetrics()); SaLogUtils.i(TAG, "dp-->px:" + result); return result; } /** * sp转px * * @param context * @param spVal * @return */ public static int sp2px(Context context, float spVal) { int result = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, spVal, context.getResources() .getDisplayMetrics()); SaLogUtils.i(TAG, "sp-->px:" + result); return result; } /** * px转dp * * @param context * @param pxVal * @return */ public static int px2dp(Context context, float pxVal) { final float scale = context.getResources().getDisplayMetrics().density; int result = (int) (pxVal / scale); SaLogUtils.i(TAG, "px-->dp:" + result); return result; } /** * px转sp * * @param context * @param pxVal * @return */ public static float px2sp(Context context, float pxVal) { int result = (int) (pxVal / context.getResources().getDisplayMetrics().scaledDensity); SaLogUtils.i(TAG, "px-->sp:" + result); return result; } }