【问题标题】:dimen.xml is not being executed after specifying it for other sizes在将其指定为其他尺寸后,dimen.xml 未执行
【发布时间】:2018-11-10 02:18:06
【问题描述】:

在我的项目中,我只有一个dimens.xml 文件,在完成我的项目后,我决定为其他屏幕尺寸创建dimens 文件。 所以我开始创建 values-mdpi 目录并在其中放置一个 dimen.xml 文件。但现在我在 values-mdpi dimens 文件中定义的每个维度资源都适用于所有屏幕! 换句话说,一般尺寸文件被忽略。 但是,如果我定义 value-xxxhdpi 一个地方,我的设备的资源就可以正常工作。但为什么? 如果我没有为特定密度定义一个维度文件,它必须从一般的 dimens.xml 中获取资源,不是吗?

【问题讨论】:

  • 请创建一个名为“values-nodpi”的文件夹,并在其中放置通用文件
  • @Rizwanatta 谢谢,很有帮助!
  • 不客气请点赞!谢谢你
  • 为什么要把dimen资源放到密度合格的目录下?无论如何,您都应该使用 dp 单位,它们已经根据密度自行缩放。
  • @BenP。你是对的,但虽然我使用 dp 作为单位,但我在分辨率较低的屏幕上的视图比屏幕尺寸占用更多的空间!

标签: android screen-density


【解决方案1】:

特定密度的资源将匹配最低匹配类型。

因此,如果您创建 values-mdpi 文件夹,任何 MDPI 或更高版本的设备(大多数设备)都将使用该文件夹中的任何现有值,否则将回退到默认值。

您的values-xxxhdpi 文件夹可能不适用于您的设备,因为您的设备不符合 XXXHDPI 规范。它可能是 XXHDPI 或 XHDPI。

你应该改变你的逻辑。不要为低密度设备创建特殊布局,而是为高密度设备创建特殊布局。

【讨论】:

    【解决方案2】:

    请创建一个名为“values-nodpi”的文件夹,然后将general 放入它应该在那里工作!这应该有帮助!

    注意!:虽然 android 确实提供了支持,但这样做更好 用于 highdpi 文件夹,并自动将其退回以降低 ,但它会影响性能

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-01
      相关资源
      最近更新 更多