android - 在 Jetpack Compose 中添加 AlertDialog 时出现“无法从可绘制资源 ID 中找到 ColorStateList”
问题描述
Can't find ColorStateList from drawable resource ID #0x108028b
添加AlertDialog
到我的应用程序时出现此错误。
我也尝试遵循这个答案,但没有帮助。如果android:statusBarColor
是问题,那么这是我在我的night\themes.xml
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.AppName" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/black</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<!-- <item name="statusBarBackground">@color/statusBarDark</item>-->
<item name="android:statusBarColor">?android:attr/colorBackground</item>
<!-- Navigation bar color. -->
<item name="android:navigationBarColor">?android:attr/windowBackground</item>
<!-- Customize your theme here. -->
</style>
<style name="ThemeOverlay.AppName.FullscreenContainer" parent="">
<item name="fullscreenBackgroundColor">@color/light_blue_900</item>
<item name="fullscreenTextColor">@color/light_blue_A400</item>
</style>
</resources>
编写代码:
@Composable
fun AlertDialogSample() {
MaterialTheme {
Column {
val openDialog = remember { mutableStateOf(false) }
Button(onClick = {
openDialog.value = true
}) {
Text("Click me")
}
if (openDialog.value) {
AlertDialog(
onDismissRequest = {
openDialog.value = false
},
title = {
Text(text = "Dialog Title")
},
text = {
Text("Here is a text ")
},
confirmButton = {
Button(
onClick = {
openDialog.value = false
}) {
Text("This is the Confirm Button")
}
},
dismissButton = {
Button(
onClick = {
openDialog.value = false
}) {
Text("This is the dismiss Button")
}
}
)
}
}
}
}
我不确定究竟是什么导致了这个问题,需要一些帮助来解决这个问题。谢谢。
解决方案
解决了。
问题出在下面一行,不知道为什么?android:attr/windowBackground
不起作用,而是改为简单@color/yourColor
解决。
<item name="android:navigationBarColor">?android:attr/windowBackground</item>
推荐阅读
- c# - 如何在当前方法中使用数据库事务?
- google-apps-script - 谷歌工作表按钮在移动设备上不起作用
- r - R中的命令filter()有问题吗?match.arg(method) 中的错误:“arg”必须为 NULL 或字符向量
- sql - 插入查询 - 将数据类型 nvarchar 转换为 (null) 时出错
- node.js - Shell 文件忙
- batch-file - 在 bat FOR /R 循环中获取子目录名称并相应地命名文件
- javascript - 使用数组属性设置 React 或 Recoil 状态对象的更简单方法
- javascript - 使用 vue.js 提高表列上悬停效果的反应性/性能
- javascript - 如果 data-attribut 等于 0,“parents().filter”返回未定义
- python - 具有许多值的 Python Dash 下拉列表