在密度和屏幕尺寸上有条件地使用Android可绘制资源

时间:2012-07-09 09:56:39

标签: android size drawable dpi

我想在各种各样的设备上创建一个ImageButton的Android应用,它看起来不错,尺寸合适。我知道可以在Android drawables中构建多个级别的条件,最简单的方法是创建像

这样的文件夹
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi

用于不同的位图密度。然而,在mdpi手机上看起来不错的按钮在mdpi平板电脑上看起来很棒,我宁愿使用hdpi位图来应用该应用程序。有一种方法可以使用名为

的文件夹来完成此操作
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 ...

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

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

或者,是否有其他方法可以根据器件尺寸和器件密度来断言条件?

1 个答案:

答案 0 :(得分:1)

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

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