【问题标题】:How to Create Seperate Values folder Sony Xperia Z1 in android如何在 android 中创建单独的值文件夹 Sony Xperia Z1
【发布时间】:2013-11-18 21:03:17
【问题描述】:

我尝试在 Android Eclipse 项目中为 Sony Xperia Z1 创建单独的值文件夹。我为 values-sw390dp 完成了。在那个 values 文件夹中,我将那个 dimen.xml 文件放在那个移动 UI 大小中。当我在那个文件夹中更改 ui 大小时,它不会反映它。但是,它会自动取 values-large 文件夹。 因为,我正在开发一款适用于所有 5 英寸和 7 英寸手机和平板电脑的应用程序。我需要将我的 UI 适配为 5 英寸及以上。

http://www.gsmarena.com/sony_xperia_z1-5596.php 示例索尼 Xperia 手机型号

我已经参考了这个网站.. Sony Xperia Z density seems odd to me, will my app work fine on it?

// 我也安装了sony xperia z1 model sdk.. http://developer.sonymobile.com/knowledge-base/sony-add-on-sdk/install-the-sony-add-on-sdk/ 我的模拟器也可以正常工作...

注意:我的问题只在这里.. 首先,我完美地为 Google Nexus 7 安装了我的 UI。当我在 Sony Xperia Z1 手机中执行我的应用程序时,会发生这种情况。。

1080 x 1920 像素,5.0 英寸(约 441 ppi 像素密度) = (1080 * 160) / 441 = 391.83...= 回合 = 390 dp 这就是为什么我这样使用索尼 Xperia Z1 values-sw390dp

谢谢提前

【问题讨论】:

  • 嗨马林..你找到任何解决方案吗..我自己试过..它只会从值正常文件夹中获取..完全不知道索尼 xperia 值文件夹的 sw 值..

标签: android layout user-interface sony-xperia


【解决方案1】:

看起来这里的问题是您计算 dp 中最小宽度的方式。您可能知道,Android 基于密度桶系统,例如mdpi (160 dpi)、hdpi (240 dpi)、xhdpi (320 dpi) 和 xxhdpi (480 dpi) 等等。每个电话被分类为属于可用密度桶之一。该逻辑密度是实际物理密度的近似值。

Z1 的物理密度为 441 ppi,因此落入 xxhdpi 桶中。

所以我们有公式: px = dp * (dpi / 160) 或 dp = px / (dpi / 160)

在这种情况下,dpi = 480 和 px = 1080 所以:

dp = 1080 / (480 / 160) = 1080 / 3 = 360

所以你应该为 Xperia Z1 使用 values-sw360dp。

【讨论】:

  • 谢谢马林。上述型号接受 sw360。但是,Xperia Z1 型号 ppi 仅为 441..当我这样计算 = 1080/(441/160) = 391.83..(如果一轮意味着 390)..我没有得到 360 的答案..你能告诉,你是如何获得 sw360 dp..
  • 正如您在上面的数学中看到的,不同之处在于我使用的是 480 dpi 与 441。即使设备的物理密度为 441 dpi,应用程序资源也不会使用实际物理密度密度,而是属于密度桶之一的逻辑密度。因此,您需要使用 xxhdpi 密度桶 (480 dpi) 中的值,而不是计算中的物理密度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多