【问题标题】:Dimen value confusion in AndroidAndroid中的dimen值混淆
【发布时间】:2020-11-24 07:14:15
【问题描述】:

我有这样的需求

对于宽度: sw0-320:100dp,

sw321-:200dp

我应该把这些值放在哪里?

values 文件夹中:100dp 或 200dp,

values-w320dp 文件夹中:100dp 或 200dp,

这里很混乱!研究了一些文档,但不明白这里的事实!

【问题讨论】:

    标签: android android-studio dpi dimension screen-density


    【解决方案1】:

    Android 会首先为其运行的设备找到最具体的资源。

    这意味着如果您在values-sw320dp 中放置了一些东西,并且您正在运行一个最小宽度为 320dp 或更大的设备,它会首先出现在此处。如果在该文件夹中找不到资源,它将在基础values 文件夹中查找。如果您正在运行最小宽度为 319dp 的设备,它不会values-sw320dp 中查找资源。

    【讨论】:

    • 谢谢您,从您的评论中了解事实
    【解决方案2】:

    如果设备的最小宽度或可用宽度为 320dp 或更大,将使用 values-sw320dpvalues-w320dp 文件夹中的数据,否则将使用 values 文件夹中的数据。因此,在这种情况下,您需要将 100dp 放在 values 文件夹中,将 200dp 放在 values-sw320dpvalues-w320dp 中。问题说要求是关于sw(最小宽度),但它使用文件夹名称中的可用宽度(w)限定符,所以不清楚你需要哪一个。

    这方面的文档在 https://developer.android.com/guide/topics/resources/providing-resources 中,您可以在那里查看 smallestWidth (sw<N>dp) 和 availableWidth (w<N>dp) 限定符。

    【讨论】:

      猜你喜欢
      • 2013-06-21
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      相关资源
      最近更新 更多