我试图在我的应用程序中添加对新材料用户界面的支持,但我遇到了一个恼人的情况。
在SDK 14之前,黑色应用程序菜单需要白色图标。从SDK 14开始,Holo主题需要暗图标。现在,当迁移到材料,我需要再次白色图标。基本上,我有一个文件夹可绘制-hdpi-v11,一个可绘制-hdpi-v14和一个可绘制-hdpi-v21。可绘制的-hdpi-v11和-hdpi-v21具有相同的图像,当然,Lint警告我,我有相同的资源重复。
我已经查看了别名创建别名资源,但它似乎没有提供我需要的功能。您知道如何在不重复资源的情况下获得相同的结果( SDK<14或SDK>=21的白色图像,SDK>=14和SDK<21的黑暗)?
发布于 2014-11-10 22:47:53
您希望@drawable/ic_action_heart解析为:
在这种情况下:
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_whiteic_action_heart.xml中有一个可绘制的别名,名为res/drawable-hdpi/,指向@drawable/ic_action_heart_white当然,在其他密度桶(例如,-xxhdpi)中也会有相同的基本结构。由于密度比API级别更重要,我认为您需要有特定于密度的别名版本。
https://stackoverflow.com/questions/26851928
复制相似问题