android 获取屏幕分辨率及dpi
获取dpi:
java代码:
private int getDpi() {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int density = dm.densityDpi;
return density;
}
kotlin代码:
fun getDensityDPI(activity: Activity): Int {
var displayMetrics = DisplayMetrics()
activity.windowManager.defaultDisplay.getMetrics(displayMetrics)
return displayMetrics.densityDpi
}
获取屏幕分辨率:
Java代码:
private void getScreenWH() {
DisplayMetrics metrics = new DisplayMetrics();
WindowManager windowManager = (WindowManager)
this.getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(metrics);
int myScreenHeight = metrics.heightPixels;
int myScreenWidth = metrics.widthPixels;
Log.e(TAG, "------屏幕宽:" + myScreenWidth+ "==屏幕高:" + myScreenHeight);
}
kotlin代码:
fun getScreenWH(context: Context) {
var displayMetrics = DisplayMetrics()
//获取windowManager的方式,如果是activity,则可以通过activity.windowManager直接取得,即上边获取dpi中的那样
var windowManager: WindowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
windowManager.defaultDisplay.getMetrics(displayMetrics)
var screenW = displayMetrics.widthPixels
var screenH = displayMetrics.heightPixels
Log.e("---", "-----w:$screenW==h:$screenH");
}