【问题标题】:Using Android drawable resources conditionally on density and screen size根据密度和屏幕尺寸有条件地使用 Android 可绘制资源
【发布时间】:2012-07-09 09:56:39
【问题描述】:

我想创建一个带有ImageButtons 的 Android 应用,该应用在各种设备上看起来不错且大小合适。我知道可以在 Android drawables 中内置多个级别的条件,最简单的是创建文件夹,如

drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi

针对不同密度的位图。但是,在 mdpi 手机上看起来不错的按钮在 mdpi 平板电脑上看起来很笨拙,我宁愿为该应用程序使用 hdpi 位图。有一种方法可以使用名为 like 的文件夹来完成此操作

drawable-small-ldpi
drawable-normal-ldpi
drawable-large-ldpi
drawable-xlarge-ldpi
drawable-small-mdpi
drawable-normal-mdpi ...

等等。如您所见,有 16 个不同的文件夹来覆盖每种密度的条件屏幕尺寸。我可能可以通过使用像

这样的默认值来减少这种情况
drawable-ldpi
drawable-large-ldpi
drawable-xlarge-ldpi ...

但我的意图是将相同的可绘制对象用于一种密度的大屏幕和 x 大屏幕,就像上面密度的小屏幕和普通屏幕一样。我觉得这种方法在APK中是浪费资源空间。有没有办法创建包含目标图像的单个可绘制文件夹:

  • 小型低密度设备
  • 大型低密度和小型中密度设备
  • 大型中密度和小型高密度设备
  • 大型高密度和小型超高密度设备
  • 大型超高密度设备?

或者,是否有另一种方法可以根据设备大小和设备密度断言条件?

【问题讨论】:

    标签: android size drawable dpi


    【解决方案1】:

    取自http://developer.android.com/guide/topics/resources/providing-resources.html#AliasResources

    “当您有一个资源想要用于多个设备配置(但不想作为默认资源提供)时,您不需要将同一资源放在多个替代资源中目录。相反,您可以(在某些情况下)创建一个替代资源,作为保存在默认资源目录中的资源的别名。"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 2019-11-13
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多