我正在开发一个非常混乱的应用程序,并且是第一次使用口味。应用程序有 4,5 种风格,所有风格都具有相同的背景颜色、可绘制对象等。只有徽标不同。
现在我必须制作一种布局完全不同的新口味。背景颜色应该是黄色而不是灰色,可绘制图像应该是黑色而不是白色。问题是,我有 100 张不同的白色图像。有没有办法可以自动将它们更改为黑色?(设计师可以重绘它们或将它们变成黑色,我可以将它们放在那种风格的可绘制文件夹中)或者我必须以编程方式检查是否使用了新风格,然后在每个使用白色可绘制的小部件上调用 setDrawable(newBlackImage)?这似乎是一种非常复杂的方法,因为所有可绘制对象都是通过 XML 布局设置的。
他们一直在使用风味的方式是创建资源布尔文件,然后检查代码是否某个键的值为真/假然后隐藏/显示一些东西......所以我认为我应该用这个做类似的事情,或者不?
这是我的一种风格的项目结构:
如您所见,每种口味只有不同的启动器和登录屏幕图标。每个都有自己的数组、布尔值和字符串资源文件。但是它们都共享相同的布局资源和带有白色图标的可绘制对象。