首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于两个不同的SDK版本使用相同的可绘图。

对于两个不同的SDK版本使用相同的可绘图。
EN

Stack Overflow用户
提问于 2014-11-10 19:56:08
回答 1查看 5.7K关注 0票数 5

我试图在我的应用程序中添加对新材料用户界面的支持,但我遇到了一个恼人的情况。

在SDK 14之前,黑色应用程序菜单需要白色图标。从SDK 14开始,Holo主题需要暗图标。现在,当迁移到材料,我需要再次白色图标。基本上,我有一个文件夹可绘制-hdpi-v11,一个可绘制-hdpi-v14和一个可绘制-hdpi-v21。可绘制的-hdpi-v11和-hdpi-v21具有相同的图像,当然,Lint警告我,我有相同的资源重复。

我已经查看了别名创建别名资源,但它似乎没有提供我需要的功能。您知道如何在不重复资源的情况下获得相同的结果( SDK<14或SDK>=21的白色图像,SDK>=14和SDK<21的黑暗)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-10 22:47:53

您希望@drawable/ic_action_heart解析为:

  • 白色,< 14
  • >= 14和< 21的黑暗
  • >= 21上的白色

在这种情况下:

  • ic_action_heart.png中有一个res/drawable-hdpi-v14/图标的黑色版本
  • ic_action_heart_white.png中具有res/drawable-hdpi/图标的轻量级版本
  • ic_action_heart.xml中有一个可绘制的别名,名为res/drawable-hdpi-v21/,指向@drawable/ic_action_heart_white
  • ic_action_heart.xml中有一个可绘制的别名,名为res/drawable-hdpi/,指向@drawable/ic_action_heart_white

当然,在其他密度桶(例如,-xxhdpi)中也会有相同的基本结构。由于密度比API级别更重要,我认为您需要有特定于密度的别名版本。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26851928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档