dx与px之间的转换

Android初级

dx与px之间的转换

import android.content.Context;
/**
 * Created by Administrator on 2016/5/21.
 */
public interface IDip2Px {
    /**
     * 根据手机的分辨率从dip转换成px
     * @param context
     * @param dpValue
     * @return
     */
    int dip2px(Context context,float dpValue);

    /**
     * 根据手机的分辨率从px转换成dp
     * @param context
     * @param pxValue
     * @return
     */
    int px2dip(Context context,float pxValue);
}

定义一个实现类重写两个转换方法:

import android.content.Context;

/**
 * Created by Administrator on 2016/5/21.
 */
public class Dip2Px implements IDip2Px{
//将dp转换成px
    @Override
    public int dip2px(Context context, float dpValue) {
        final float scale=context.getResources().getDisplayMetrics().density;//屏幕密度
        return (int)(dpValue*scale+0.5f);
    }
    //将px转换成dp
    @Override
    public int px2dip(Context context, float pxValue) {
        final float scale=context.getResources().getDisplayMetrics().density;
        return (int)(pxValue/scale+0.5f);
    }
}

你可能感兴趣的:(android初级)