如何在 Compose 中进行主题化

How to do themeing in Compose

我需要按以下结构创建应用程序

在构建应用程序 ( apk ) 时,我只需将 themeType 更改为 ThemeOne/ThemeTwo 即可为该主题构建应用程序。我不想在每个 activity/fragment.

中更改此主题

实际例子: 对于银行应用程序,应用程序将开发一次。

我的主题如下

而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']
    }
}

考虑到维护代码的模块化方式和更改的未来方面,这是正确的做法。