【问题标题】:Getting dimensions of an Android device in dp [duplicate]在 dp 中获取 Android 设备的尺寸 [重复]
【发布时间】:2016-12-29 11:38:04
【问题描述】:

即三星 S6 Edge 的屏幕尺寸为 1440x2560 像素。

但是,我需要它们在 dp 中。如何以编程方式在dp 中获取 Android 设备的尺寸(宽度和高度)?

【问题讨论】:

    标签: java android screen-size


    【解决方案1】:

    你可以获得DisplayMetrics

       DisplayMetrics metrics = new DisplayMetrics();
       getWindowManager().getDefaultDisplay().getMetrics(metrics);
    

    并访问density值:

    显示的逻辑密度。这是一个比例因子 密度无关像素单元,其中一个 DIP 是一个像素 大约 160 dpi 的屏幕(例如 240x320、1.5"x2" 的屏幕), 提供系统显示的基线。因此在 160dpi 屏幕此密度值将为 1;在 120 dpi 的屏幕上 .75;等等

    这个值并不完全符合真实的屏幕尺寸(由 xdpi 和 ydpi,而是用于缩放整个 UI 的大小 根据显示 dpi 的总体变化分步进行。例如,一个 240x320 屏幕的密度为 1,即使其宽度为 1.8", 1.3" 等。但是,如果屏幕分辨率增加到 320x480 但屏幕尺寸保持为 1.5"x2",那么密度将为 增加(可能到 1.5)。

    【讨论】:

      猜你喜欢
      • 2014-05-19
      • 1970-01-01
      • 2021-01-20
      • 2011-09-29
      • 1970-01-01
      • 2011-12-27
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多