如何在 Compose 中进行主题化
How to do themeing in Compose
我需要按以下结构创建应用程序
主题 1
- 精简版
- 图标和图像
- 颜色
- 深色版
- 图标和图像
- 颜色
- 字体
- 字符串
主题二
- 精简版
- 图标和图像
- 颜色
- 深色版
- 图标和图像
- 颜色
- 字体
- 字符串
在构建应用程序 ( apk ) 时,我只需将 themeType 更改为 ThemeOne/ThemeTwo 即可为该主题构建应用程序。我不想在每个 activity/fragment.
中更改此主题
实际例子:
对于银行应用程序,应用程序将开发一次。
我的主题如下
- Icici主题
- 轴主题
- SbiTheme
而Icici的颜色和logo会在IciciTheme里面,不同的主题同理。
橙色是 ICICI 的主要颜色
对于轴,它有点紫色
对于 sbi,它是蓝色的。
它不是专门关于 primaryColors 的。每个主题可以有大约 100 种颜色
我想通过 Jetpack Compose 来实现,
请分享您关于如何实现这一目标的想法/思考过程。
在 Android 中实现此目标的最佳方法是使用产品口味。
以您的实际例子作为参考回答。
在特定的资源文件夹中,我们可以为特定的口味编写特定的深色和浅色主题变体。
您必须为您想要的所有类型的变体声明口味 cover/deliver。请将以下代码添加到您的 build.gradle 文件中,其中包含 android{ }
...
android {
...
productFlavors {
icici{
}
sbi{
}
axis{
}
}
sourceSets.icici{
res.srcDirs = ['res', 'src/icici/res']
}
sourceSets.sbi{
res.srcDirs = ['res', 'src/sbi/res']
}
sourceSets.axis{
res.srcDirs = ['res', 'src/axis/res']
}
}
考虑到维护代码的模块化方式和更改的未来方面,这是正确的做法。
我需要按以下结构创建应用程序
主题 1
- 精简版
- 图标和图像
- 颜色
- 深色版
- 图标和图像
- 颜色
- 字体
- 字符串
- 精简版
主题二
- 精简版
- 图标和图像
- 颜色
- 深色版
- 图标和图像
- 颜色
- 字体
- 字符串
- 精简版
在构建应用程序 ( apk ) 时,我只需将 themeType 更改为 ThemeOne/ThemeTwo 即可为该主题构建应用程序。我不想在每个 activity/fragment.
中更改此主题实际例子: 对于银行应用程序,应用程序将开发一次。
我的主题如下
- Icici主题
- 轴主题
- SbiTheme
而Icici的颜色和logo会在IciciTheme里面,不同的主题同理。 橙色是 ICICI 的主要颜色 对于轴,它有点紫色 对于 sbi,它是蓝色的。
它不是专门关于 primaryColors 的。每个主题可以有大约 100 种颜色
我想通过 Jetpack Compose 来实现, 请分享您关于如何实现这一目标的想法/思考过程。
在 Android 中实现此目标的最佳方法是使用产品口味。 以您的实际例子作为参考回答。 在特定的资源文件夹中,我们可以为特定的口味编写特定的深色和浅色主题变体。
您必须为您想要的所有类型的变体声明口味 cover/deliver。请将以下代码添加到您的 build.gradle 文件中,其中包含 android{ }
...
android {
...
productFlavors {
icici{
}
sbi{
}
axis{
}
}
sourceSets.icici{
res.srcDirs = ['res', 'src/icici/res']
}
sourceSets.sbi{
res.srcDirs = ['res', 'src/sbi/res']
}
sourceSets.axis{
res.srcDirs = ['res', 'src/axis/res']
}
}
考虑到维护代码的模块化方式和更改的未来方面,这是正确的做法。