zoukankan      html  css  js  c++  java
  • PixelUtils:像素转换工具

    /** 像素转换工具
     */
    public class PixelUtils {
    
        /**
         * The context.
         */
        private static Context mContext = CustomApplcation.getInstance();
    
        /**
         * dp转 px.
         *
         * @param value the value
         * @return the int
         */
        public static int dp2px(float value) {
            final float scale = mContext.getResources().getDisplayMetrics().densityDpi;
            return (int) (value * (scale / 160) + 0.5f);
        }
    
        /**
         * dp转 px.
         *
         * @param value   the value
         * @param context the context
         * @return the int
         */
        public static int dp2px(float value, Context context) {
            final float scale = context.getResources().getDisplayMetrics().densityDpi;
            return (int) (value * (scale / 160) + 0.5f);
        }
    
        /**
         * px转dp.
         *
         * @param value the value
         * @return the int
         */
        public static int px2dp(float value) {
            final float scale = mContext.getResources().getDisplayMetrics().densityDpi;
            return (int) ((value * 160) / scale + 0.5f);
        }
    
        /**
         * px转dp.
         *
         * @param value   the value
         * @param context the context
         * @return the int
         */
        public static int px2dp(float value, Context context) {
            final float scale = context.getResources().getDisplayMetrics().densityDpi;
            return (int) ((value * 160) / scale + 0.5f);
        }
    
        /**
         * sp转px.
         *
         * @param value the value
         * @return the int
         */
        public static int sp2px(float value) {
            Resources r;
            if (mContext == null) {
                r = Resources.getSystem();
            } else {
                r = mContext.getResources();
            }
            float spvalue = value * r.getDisplayMetrics().scaledDensity;
            return (int) (spvalue + 0.5f);
        }
    
        /**
         * sp转px.
         *
         * @param value   the value
         * @param context the context
         * @return the int
         */
        public static int sp2px(float value, Context context) {
            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.
         *
         * @param value the value
         * @return the int
         */
        public static int px2sp(float value) {
            final float scale = mContext.getResources().getDisplayMetrics().scaledDensity;
            return (int) (value / scale + 0.5f);
        }
    
        /**
         * px转sp.
         *
         * @param value   the value
         * @param context the context
         * @return the int
         */
        public static int px2sp(float value, Context context) {
            final float scale = context.getResources().getDisplayMetrics().scaledDensity;
            return (int) (value / scale + 0.5f);
        }
    
    }

  • 相关阅读:
    初探动态规划(DP)
    高精度压位
    Poi写文件时报java.io.IOException: Read error
    mysql合并和时间函数
    线程池子线程先执行再执行主线程
    linux常用命令
    使用线程池应该注意的问题
    分页查询千万级数据慢
    待簳的题......
    记录脑残失误,让达摩克利斯之剑永远高悬
  • 原文地址:https://www.cnblogs.com/mthoutai/p/7101861.html
Copyright © 2011-2022 走看看