- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试根据用户的选择来设置我的应用程序的主题。它可以是深色主题或浅色主题。
我将 viewModel 创建为:
class ThemeViewModel(application: Application) : AndroidViewModel(application) {
private val _darkMode = MutableLiveData<Boolean>(true)
val darkMode : LiveData<Boolean>
get() = _darkMode
fun setDarkMode(isDarkMode:Boolean){
_darkMode.value = isDarkMode
}
fun getDarkMode():Boolean = _darkMode.value!!
}
我将主题创建为:
@Composable
fun VoodleeTheme(
darkTheme: Boolean,
content: @Composable () -> Unit
) {
MaterialTheme(
colors = if (darkTheme) DarkColors else LightColors,
content = content
)
我将 setContent 用作:
setContent {
MyApp {
val doDark: Boolean by
themeViewModel.darkMode.observeAsState(Boolean) //this line gives error
VoodleeTheme(darkTheme = doDark) {
ProgressNavigation(themeViewModel)
}
}
}
请帮助我解决这个问题。
最佳答案
添加,
import androidx.compose.runtime.getValue
这是 MutableState<T>
的扩展函数实现使用 by
的要求在val
.
关于android - 属性委托(delegate)必须有一个 'getValue(Nothing?, KProperty*>)' 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67372720/
我目前正在构建一个用 Kotlin 编写的图书馆项目。当我导出 .aar 文件并在项目上编译时,我收到以下引用 by lazy lambda 的错误。 我在示例应用程序中遇到的错误 Rejecting
我正在尝试根据用户的选择来设置我的应用程序的主题。它可以是深色主题或浅色主题。 我将 viewModel 创建为: class ThemeViewModel(application: Applicat
//getting an error in android studio when using lazy for getStringExtra private val name : String by
我正在编写一个jetpack compose android应用程序,我需要永久存储一些设置。 我决定使用 androidx.datastore:datastore-preferences:1.0.0
我正在尝试实现 JavaFX Property与委托(delegate)的 Kotlin 属性接口(interface),以便可以像这样使用它: class Foo(bar:Bar){ val
我正在尝试遵循 Kotlin 中 ViewModels 的官方 Android 指南。 我从字面上复制粘贴了最简单的official example但语法似乎是非法的。 本节导致问题: private
我正在尝试使用 jetpack compose 中的 observeAsState 从 LiveData 中获取值,但出现了一个奇怪的错误 Type 'State' has no method 'ge
我是一名优秀的程序员,十分优秀!