常用单位转换的辅助类

作者: 才兄说 | 来源:发表于2018-02-10 14:51 被阅读23次
    package com.hwc.oklib.util;
    
    import android.content.Context;
    import android.util.TypedValue;
    
    /** 
     * @ClassName: DensityUtils 
     * @Description: 常用单位转换的辅助类
     * @author 黄伟才
     * @date 2015-10-19 下午6:14:26 
     */
    public class DpUtils {
        private DpUtils() {
            /* 不能被实例 */
            throw new UnsupportedOperationException("cannot be instantiated");
        }
    
        /**
         * dp转px
         * 
         * @param context
         * @return
         */
        public static int dp2px(Context context, float dpVal) {
            return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
                    dpVal, context.getResources().getDisplayMetrics());
        }
    
        /**
         * sp转px
         * 
         * @param context
         * @return
         */
        public static int sp2px(Context context, float spVal) {
            return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
                    spVal, context.getResources().getDisplayMetrics());
        }
    
        /**
         * px转dp
         * 
         * @param context
         * @param pxVal
         * @return
         */
        public static float px2dp(Context context, float pxVal) {
            final float scale = context.getResources().getDisplayMetrics().density;
            return (pxVal / scale);
        }
    
        /**
         * px转sp
         * 
         * @param pxVal
         * @return
         */
        public static float px2sp(Context context, float pxVal) {
            return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
        }
    }
    
    

    相关文章

      网友评论

        本文标题:常用单位转换的辅助类

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