获取屏幕分辨率有两种方法,第一种方法允许传入Context:
第一种:
public static int getScreenWidthPixels(Context context) {
return activity.getResources().getDisplayMetrics().widthPixels;
}
public static int getScreenWidthPixels(Activity activity) {
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
return metrics.widthPixels;
}
dp转px,我们经常要在代码中设置控件参数,其中传入的长度值都是px,所以需要dp转px工具:
public static int dp2px(Activity activity, int dpValue) {
float scale = activity.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
要注意的是,其实dp转px也有两种方法,和获取屏幕像素一样,只不过是生成DisplayMetrics的方法不同而已。在一般情况下,如果你使用的是系统默认Resourse时,两种方法是完全一样的。