Android屏幕分辨率、密度的正确获取

川长思鸟来 2022-02-09 12:29 726阅读 0赞

1、dpi的概念,直接上图了。

20130526172358482

2、dpi和ppi其实原理是相同的,都是每英寸上的点数,对于手机屏幕来说,这两个概念已经是同义词了。

3、dp和px的换算公式:

px=dp*(dpi/160)

4、正确获取手机屏幕的分辨率和密度

  1. DisplayMetrics dm = new DisplayMetrics();
  2. getWindowManager().getDefaultDisplay().getMetrics(dm);
  3. int widthPixels= dm.widthPixels;
  4. int heightPixels= dm.heightPixels;
  5. float density = dm.density;
  6. int screenWidth = widthPixels * density ;
  7. int screenHeight = heightPixels * density ;

在320*480的手机上得到的widthPixels值是320,heightPixels值是480,density的值是1.0。

在480*800的手机上的到的widthPixels值是320,heightPixels值是533,density的值是1.5。

注意: 此处DisplayMetrics不要使用context.getApplicationContext().getResources().getDisplayMetrics()来获取。

发表评论

表情:
评论列表 (有 0 条评论,726人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python实现屏幕分辨率获取

    Python实现屏幕分辨率获取 随着智能设备的普及,屏幕分辨率已经成为了一个不可忽略的参数。在开发过程中,我们需要获取当前设备的屏幕分辨率大小。本文将介绍如何使用Python