popupWindow 用法总结 控制位置

时间:2021-10-29 20:08:42

public class DensityUtils {

    //******************************************************************************************

    //                                                                                    单位转换

    //******************************************************************************************

    /**像素密度*/

    public static float getDisplayMetrics(Context context) {

        return context.getResources().getDisplayMetrics().density;

    }

    /**  dp 转成为 px     */

    public static int dp2px(Context context, float dpValue) {

        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue, context.getResources().getDisplayMetrics());

    }

    /**  px 转成为 dp     */

    public static int px2dp(Context context, float pxValue) {

        return (int) (pxValue / getDisplayMetrics(context) + 0.5f);

    }

    /** sp转px */

    public static int sp2px(Context context, float spVal) {

        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spVal, context.getResources().getDisplayMetrics());

    }

    /** px转sp */

    public static float px2sp(Context context, float pxVal) {

        return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);

    }

    //******************************************************************************************

    //                                                                                屏幕宽高

    //******************************************************************************************

    /**  获取屏幕宽  */

    public static int getScreenWidth(Context context) {

        DisplayMetrics metric = new DisplayMetrics();