Android获取屏幕相关属性ScreenUtil

现在计划跟着《Android群英传》这本书的实例提高章节学习编写拼图游戏,然后准备内容就是创建一个ScreenUtil工具类来获取屏幕的宽高和像素密度功能,于是,赶紧把此工具类记录下来,方便其他项目使用,然后根据实际项目需求来修改此类就可以哒~

Android获取屏幕相关属性ScreenUtil_第1张图片
截图取自收藏
public class ScreenUtil {
    /**
     * 获取屏幕相关参数
     * @param context
     * @return DisplayMetrics 屏幕宽高
     */
    public static DisplayMetrics getScreenSize(Context context){
        DisplayMetrics metrics = new DisplayMetrics();
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        Display display = wm.getDefaultDisplay();
        display.getMetrics(metrics);
        return metrics;
    }

    /**
     * 获取屏幕density
     * @param context
     * @return 屏幕的density(密度)
     */
    public static float getDeviceDensity(Context context){
        DisplayMetrics metrics = new DisplayMetrics();
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        wm.getDefaultDisplay().getMetrics(metrics);
        return metrics.density;
    }
}

有关DisplayMetrics的介绍:
https://developer.android.com/reference/android/util/DisplayMetrics.html

Android获取屏幕相关属性ScreenUtil_第2张图片
截图取自官方

density:

Android获取屏幕相关属性ScreenUtil_第3张图片
截图取自官方

你可能感兴趣的:(Android获取屏幕相关属性ScreenUtil)