我正在处理一个非常混乱的应用程序,这是我第一次使用flavors。该应用程序有4、5个口味,所有口味都具有相同的背景颜色、可绘制对象等,只有标志不同。
现在,我必须创建一个全新的口味,其布局完全不同。背景颜色应为黄色,而不是灰色,可绘制图像应为黑色,而不是白色。问题是,我有大约100个不同的白色图像。是否有一种方法可以自动将它们更改为黑色?(设计师可以重新绘制它们或以黑色放置在该口味的drawable文件夹中)或者我必须编程方式检查是否使用了新口味,然后对每个使用白色drawable的小部件调用setDrawable(newBlackImage)?因为所有drawable都是通过XML布局设置的,所以这似乎是一种非常复杂的方法。
他们使用flavors的方法是创建资源bool文件,然后在代码中检查某个键是否具有true/false值,然后隐藏/显示某些内容...所以我应该做类似的事情吗?
以下是其中一种口味的项目结构: 正如您所看到的,每种口味只有不同的启动器和登录屏幕图标。此外,每个口味都有自己的数组、布尔值和字符串资源文件。但是它们所有的共用白色图标的布局资源和可绘制资源。
现在,我必须创建一个全新的口味,其布局完全不同。背景颜色应为黄色,而不是灰色,可绘制图像应为黑色,而不是白色。问题是,我有大约100个不同的白色图像。是否有一种方法可以自动将它们更改为黑色?(设计师可以重新绘制它们或以黑色放置在该口味的drawable文件夹中)或者我必须编程方式检查是否使用了新口味,然后对每个使用白色drawable的小部件调用setDrawable(newBlackImage)?因为所有drawable都是通过XML布局设置的,所以这似乎是一种非常复杂的方法。
他们使用flavors的方法是创建资源bool文件,然后在代码中检查某个键是否具有true/false值,然后隐藏/显示某些内容...所以我应该做类似的事情吗?
以下是其中一种口味的项目结构: 正如您所看到的,每种口味只有不同的启动器和登录屏幕图标。此外,每个口味都有自己的数组、布尔值和字符串资源文件。但是它们所有的共用白色图标的布局资源和可绘制资源。