Bob*_*sky 2 android-jetpack-compose android-jetpack-compose-material3 material3
我正在迁移到 Material 3,现在我的警报对话框的圆角下方有不需要的颜色。
如何删除不需要的颜色并获得漂亮的圆形对话框?
我正在使用 1.0.0 版本的 androidx.compose.material3.AlertDialog。
这是其中一个对话框的代码
@Composable
fun NewClientSourceDialog(
onDoNothingClick: () -> Unit,
onImportClick: () -> Unit,
onAddNewClick: () -> Unit,
) {
AlertDialog(
onDismissRequest = onDoNothingClick,
text = {
DialogText(id = R.string.clients_new_client_source)
},
confirmButton = {
Column(
modifier = Modifier
.padding(all = 8.dp)
.fillMaxWidth(),
verticalArrangement = Arrangement.Bottom,
horizontalAlignment = Alignment.CenterHorizontally,
) {
DialogButton(
onClick = onImportClick,
captionId = R.string.clients_import_contacts,
)
DialogButton(
onClick = onAddNewClick,
captionId = R.string.clients_create_from_scratch,
)
DialogButton(
onClick = onDoNothingClick,
captionId = R.string.clients_new_client_dismiss
)
}
},
)
}
@Composable
fun DialogButton(
onClick: () -> Unit,
@StringRes captionId: Int,
destructive: Boolean = false,
) = TextButton(onClick = onClick) {
Text(
text = stringResource(id = captionId),
)
}
Run Code Online (Sandbox Code Playgroud)
该问题是由我的主题配置引起的/res/values/themes.xml
我在那里有这个自动生成的内容:
<resources>
<!-- Base application theme. These colors don't affect the Composable functions, just the color
of the Status Bar. For the colors used by the Composable functions, see Theme.kt -->
<style name="Theme.MyTheme" parent="android:Theme.Material.Light.NoActionBar">
<item name="android:statusBarColor">@color/status_bar</item>
<item name="android:background">@color/status_bar</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
将其更改为
<resources>
<style name="Theme.MyTheme" parent="android:Theme.Material.Light.NoActionBar" />
</resources>
Run Code Online (Sandbox Code Playgroud)
解决了这个问题。
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |