公共代码参考(TypedValue)

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);  

    }

}

 

你可能感兴趣的:(value)