安卓开发获取屏幕像素和密度

来源:互联网 发布:知乎是什么软件 编辑:程序博客网 时间:2024/04/29 03:10

用来测试的虚拟机是320*480像素mdpi的
总结了以下三种方法

(一)

Point point =new Point();getWindowManager().getDefaultDisplay().getSize(point);point.x;//(320)point.y;//(480)

(二)

DisplayMetrics metrics=new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metrics);metrics.widthPixels;//(320)metrics.heightPixels;//(480)metrics.xdpi;//(160.0)metrics.ydpi;//(160.0)metrics.density;//(1.0)metrics.densityDpi;//(160)

(三)

DisplayMetrics metrics2=getResources().getDisplayMetrics();metrics2.widthPixels;//(320)metrics2.heightPixels;//(480)metrics2.xdpi;//(160.0)metrics2.ydpi;//(160.0)metrics2.density;//(1.0)metrics2.densityDpi;//(160)

当不是在activity中时,就不能直接用getWindowManager()等方法了,这时可以用Context.getSystemService(Context.WINDOW_SERVICE)方法,其他的类似

0 0