【问题标题】:Want fixed size image or drawable ( in inches ) on all devices想要在所有设备上固定大小的图像或可绘制(以英寸为单位)
【发布时间】:2015-09-02 11:13:56
【问题描述】:

我尝试使用设备 dpi 进行此操作。相应地获取 dpi 和缩放图像,但不适用于所有设备。我在cocos2dx framework 中编写了代码并在android 上尝试过,xoloxiomi 等设备我的笔记没有显示所需的结果(image size different from rest devices)。 我的概念是,如果一台设备的 dpi 为 320,而另一台设备的 dpi 为 240,那么

1 英寸 = 320 像素(在第一个设备中)= 240 像素(在第二个设备中)

安卓我用过

getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.xdpi 
metrics.ydpi

并针对每部手机进行相应缩放

  1. 是否所有设备都无法返回正确的 dpi。
  2. 这是正确的做法吗?
  3. 是否有替代解决方案来获得此结果?

【问题讨论】:

  • 1.是的。 2. 是的。 3. 所有已知设备及其实际 dpi 的硬编码大表。
  • 在哪里可以找到实际 dpi 的列表?
  • 如果 google 找不到预先制作的列表,您需要通过获取设备规格并将物理屏幕尺寸与您主要定位的所有设备的广告像素尺寸进行比较来自己制作。

标签: android android-layout cocos2d-x dpi cocos2d-x-3.0


【解决方案1】:

对于某些设备,xdpiydpi 指标返回错误的数字,您不能依赖它们。从 API 17 开始,您还可以使用getRealMetrics()。它应该为您提供 xdpiydpi 的准确值。

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(dm);

dm.xdpi
dm.ydpi

【讨论】:

  • 它仍然无法正常工作。我认为这些值是由制造商提供的,通过“adb shell dumpsys display”它显示错误的 x 和 y dpi
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2016-10-08
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
  • 2012-05-11
相关资源
最近更新 更多