【问题标题】:Android is not picking right dimens.xml file from values folderAndroid 没有从 values 文件夹中选择正确的 dimens.xml 文件
【发布时间】:2014-04-04 09:46:12
【问题描述】:

我创建了不同的dimens.xml 文件并将它们放在适当的值文件夹中。

我定义了以下“价值”文件夹

价值观, 值-大, 值-正常, 值-小, 值-sw320dp, 价值-sw320dp-土地, 值-sw480dp, 值-sw600dp, 值-sw720dp 和 values-sw720dp-land

问题是当我在 values-sw320dp 中的 dimens.xml。选择与屏幕密度无关。

我已经在 S4、Moto G、S4 Mini 和一些 2.3 设备上测试了该应用程序。结果始终相同。

我在这里做错了什么?

【问题讨论】:

  • 我可以通过将 hdpi、xhdpi 和 xxhdpi 附加到 values-sw320dp 来解决我的问题。我创建了以下文件夹 values-sw320dp-hdpi、values-sw320dp-xhdpi 和 values-sw320dp-xxhdpi 并添加了相应的 dimens.xml 文件。现在选择了正确的尺寸。
  • 太棒了 :) 是的,qualifiers 是该 SO 帖子中提到的必需项。

标签: android android-layout android-screen-support android-screen


【解决方案1】:

现在我很清楚,values-sw320dp 将是唯一一个从中挑选dimens.xml 的文件夹,因为

我犯的错误是忽略了 320dp 尺寸屏幕的屏幕密度。

所以我发现可行的解决方案是根据屏幕密度创建不同的值文件夹,即创建名为 values-sw320dp-ldpi, values-sw320dp-mdpi, values-sw320dp-hdpi, values-sw320dp-xhdpi and values-sw320dp-xxhdpi 的文件夹并将相应的 dimens.xml 文件放入其中。

我希望这对可能偶然发现此问题的人有所帮助。

【讨论】:

  • 这毫无意义。屏幕尺寸和屏幕分辨率不一样。您的屏幕尺寸可以小于 5 英寸,但分辨率可以超过 320 dp。
  • @AndroidDev 请再次阅读我的问题,我曾问过“问题是当我在手机 developer.android.com/guide/practices/screens_support.html
  • 但我猜如果您使用今天的任何 QHD 手机,您将不得不使用 480dp 或 640dp 配置,您可以通过这样做来证明您的应用未来。
【解决方案2】:

我不知道您尝试的方式有什么问题。但我总是创建值文件夹,如 values、values-ldpi、values-mdpi、values-hdpi、values-xhdpi、values-w360dp-mdpi、values-w600dp-mdpi 等。它总是为我工作。

【讨论】:

  • 使用密度限定符定义值文件夹破坏了 dp 的目的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-29
  • 1970-01-01
  • 2014-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多