import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.hardware.display.DisplayManager;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.WindowManager;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e("TAG", "getScreenDensity:"+ getScreenDensity(MainActivity.this));
Log.e("TAG", "getScreenHerght:"+ getScreenHerght(MainActivity.this));
Log.e("TAG", "getScreenWidth:"+ getScreenWidth(MainActivity.this));
}
public static int getScreenHerght(Context ctx){
//屏幕高度
//从系统服务中获取窗口管理器
WindowManager wm=(WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
//得到DiaplayMetrics对象,该对象包含高度宽度密度
DisplayMetrics dm=new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
return dm.heightPixels;
}
public static int getScreenWidth(Context ctx){
//屏幕宽度
WindowManager wm=(WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm=new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
return dm.widthPixels;
}
public static float getScreenDensity(Context ctx){
//屏幕像素密度
WindowManager wm=(WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm=new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
return dm.density;
}
}
可以得出密度为3,高度1920px,宽度1080px;