使用drawables定位Android 1.6 - 4.0.3

时间:2012-03-13 00:53:16

标签: android resources android-theme

我的应用与Android 1.6兼容 - Android 4.0.3。我希望我的drawables从头到尾以所有相关限定符(x | h / m / ldpi& swxxxdp)定位每个平台,其中系统主题发生了变化。

在我的头顶,1.6 - 2.2是一个主题,2.3.x是1个主题,3.0x是另一个主题,现在4.0x是另一个主题。

目前,我的res文件夹如下所示:

  • 绘制
  • 抽拉-HDPI
  • 抽拉-HDPI-V11
  • 抽拉-HDPI-V9
  • 抽拉-LDPI-V9
  • 抽拉-MDPI-V11
  • 抽拉-MDPI-V9
  • 抽拉-sw320dp
  • 抽拉-sw600dp
  • 抽拉-sw720dp
  • 抽拉-V11
  • 抽拉-XLARGE

对于每个Android版本,我觉得我的res文件夹效率低于它们。看过ICS源文件后,只有少数基本可绘制文件夹,其他文件主要是特定语言文件。

我的问题是:a)如何组织我的drawables文件夹以正确定位每个主题& b)我现在对文件夹做错了吗?

2 个答案:

答案 0 :(得分:0)

我相信你做得很好。这个一刀切的设置的问题在于你在apk上放置了不必要的drawables,例如,它只使用了大约20%的drawables。考虑使用不同的过滤器发布单独的apks - 阅读它here

答案 1 :(得分:0)

(1)要优化APK大小,请尝试创建别名资源。 http://developer.android.com/guide/topics/resources/providing-resources.html#AliasResources

(2)swxxxdp和vxx资源之间的冲突。 根据资源文件夹搜索优先级,它将匹配vxx之前的swxxxdp文件夹。 由于最小宽度具有更高优先级比较版本。 (版本是优先级最低的限定符) 阅读一些线索的最佳匹配: http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch