joe*_*joe 4 android android-productflavors android-build-flavors android-flavors
我正在开发一个非常混乱的应用程序,并且是第一次使用口味。应用程序有 4,5 种口味,全部具有相同的背景颜色、绘图等。只有徽标不同。
现在我必须制作一种布局完全不同的新口味。背景颜色应该是黄色而不是灰色,可绘制图像应该是黑色而不是白色。问题是,我有大约 100 张不同的白色图像。有什么办法可以自动将它们更改为黑色吗?(设计者可以将它们重新绘制为黑色,我可以将它们放入该风格的可绘制文件夹中)或者我必须以编程方式检查是否使用了新风格,然后在每个使用白色可绘制的小部件上调用 setDrawable(newBlackImage) ?这似乎是一种非常复杂的方法,因为所有可绘制对象都是通过 XML 布局设置的。
他们使用flavor的方式是创建资源bool文件,然后检查代码是否某个键的值为true/false,然后隐藏/显示一些东西......所以我认为我应该做类似的事情,或者不?
这就是我的一种风格的项目结构:
如您所见,每种口味只有不同的启动器和登录屏幕图标。此外,每个都有自己的数组、布尔值和字符串资源文件。但它们都共享相同的布局资源和带有白色图标的绘图。
我认为你已经走在正确的道路上了。通过在 gradle 文件中为每组可绘制对象创建特定风格,您只需要为具有特定文件的风格创建一个可绘制文件夹。
例如,风味“黑色”将需要一个可绘制文件夹,其中将存储所有黑色背景图像。
为了使其正常工作,所有资源都必须存在于所有风格中,这样您就不需要更改代码的任何部分。
您可以在这里找到快速指南: https://medium.com/@thiagolopessilva/the-handling-multiple-java-source-and-resources-using-flavors-on-gradle-18a4b581285b
| 归档时间: |
|
| 查看次数: |
3999 次 |
| 最近记录: |