package com.fredric.util; import android.content.Context; import android.util.TypedValue; /*- * 像素转换相关 * COMPLEX_UNIT_PX:像素 * COMPLEX_UNIT_DIP:设备独立像素(与硬件设备无关) * COMPLEX_UNIT_PT:标准长度单位1/72英寸 * COMPLEX_UNIT_IN:英寸 * COMPLEX_UNIT_MM:毫米 * Google建议: * 像素类的采用DIP,字体大小类的采用PX */ public class DensityUtils { /*- * dp2px * 像素密度 = 分辨率/尺寸 * 将dip转换为pixel,应用场景如: * setPadding 方法的单位是pixel,需要做转换 */ public static int dp2px(Context context, float dp){ return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics()); } /*- * px2dp */ public static float px2dp(Context context, float pxVal){ //获取屏幕密度 final float scale = context.getResources().getDisplayMetrics().density; return (pxVal / scale); } }
时间: 2024-11-05 16:05:06