美文网首页Android开发Android开发
Android dp转px px转dp px转sp sp转p

Android dp转px px转dp px转sp sp转p

作者: Jian_98 | 来源:发表于2020-04-06 15:34 被阅读0次
    public class DensityUtils {
        /**
         * 根据手机的分辨率从 dp 的单位 转为 px(像素)
         * @return
         */
        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);
        }
    
        /**
         * 将px值转为sp值,保证文字大小不变
         */
        public static int px2sp(Context context, float pxValue) {
            final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
            return (int) (pxValue / fontScale + 0.5f);
        }
    
        /**
         * 将sp值转换为px值,保证文字大小不变
         */
        public static int sp2px(Context context, float spValue) {
            final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
            return (int) (spValue * fontScale + 0.5f);
        }
        
    }
    

    相关文章

      网友评论

        本文标题:Android dp转px px转dp px转sp sp转p

        本文链接:https://www.haomeiwen.com/subject/ythbphtx.html