当前位置: 首页 > 知识库问答 >
问题:

使用Jetpack Compose的多主题应用程序

段干飞翔
2023-03-14

我想让我的应用程序提供选项有黑暗主题和浅色主题给用户,应用程序的主题将成为什么用户选择。

我如何用Android Jetpack Compose实现这一点?

我一直在浏览应用主题化的Android codelabs,发现了以下代码片段:

@Composable
fun BasicsCodelabTheme(
    darkTheme: Boolean = isSystemInDarkTheme(),
    content: @Composable () -> Unit
) {
    val colors = if (darkTheme) {
        DarkColors
    } else {
        LightColors
    }

    MaterialTheme(colors = colors) {
        content()
    }
}

但是上面的代码是用来改变“系统”主题对应的主题,而不是用户在应用程序中选择什么。

共有1个答案

钱毅
2023-03-14

只需将darkTheme参数设置为用户定义的值。
如果不传递该参数,则isSystemIndarkTheme()值只是默认值,您还可以根据需要更改此实现。

某事:

setContent {
    BasicsCodelabTheme(darkTheme = true /*user choice */) {
       //... 
}
 类似资料:
  • 让你的Android应用能使用多种主题 ( Part 2 ) 原文链接 : Supporting multiple themes in your Android app (Part 2) 译文出自 : 开发技术前线 www.devtf.cn 译者 : chaossss 校对者: Mr.Simple 状态 : 完成 在 上一篇博文 中,我们创建了一个明亮风格的主题,并且为实现使用多种主题作了一些前期

  • 在你的Android App中支持多主题 原文链接 : Supporting multiple themes in your Android app (Part 1) 译文出自 : 开发技术前线 www.devtf.cn 译者 : chaossss 校对者: Mr.Simple 状态 : 完成 我最近一直在忙着整我的黑客资讯App——Materialistic,今天难得有空,就让我来给大家分享一下

  • 问题内容: 数据库设计问题在这里。 假设我们有一个webapp或使用#标签处理20-40个字词的东西。存储用户主题标签的最佳方法是什么。 例如,如果用户输入。`”I like to have #lunch at 还值得指出的是,这些标签必须是可搜索的,例如有多少人对午餐进行了哈希标签等等。 在这个问题上的建议会很棒,在将可变大小的输入存储在mysql中时,我总是有些困惑。每个音符可以有无限数量的主

  • 我有一个应用程序需要收听多个不同的主题;每个主题都有关于如何处理消息的单独逻辑。我曾想过为每个KafkaStreams实例使用相同的kafka属性,但我得到了如下所示的错误。 错误 流处理应用程序的标识符。在Kafka集群中必须是唯一的。它用作1)默认的客户端ID前缀,2)用于成员资格管理的组ID,3)变更日志主题前缀。 问题 此错误意味着什么,以及导致此错误的原因。 假设您可以有应用程序的多个实

  • 我一直在尝试更改progressBar的颜色,我注意到它使用的是accentColor(在我的例子中是蓝色的),我一直在尝试在没有运气的情况下更改它。 我错过什么了吗? 这是我的风格。xml 这是我在布局中的元素。xml 我的活动:

  • 问题内容: 我正在尝试在基于AndEngine的游戏中集成一些Android语音API。 我将代码放在BaseGame活动中-但是此错误在运行时出现: 05-06 23:51:28.955:错误/ AndroidRuntime(553):java.lang.RuntimeException:SpeechRecognizer仅应从应用程序的主线程使用 如何访问应用程序主线程?以及如何确保我的语音代码