首先,如果您使用 Material Theme,最好使用 MaterialAlertDialog 。
您可以在此处阅读更多信息 – Material.io → 主题对话框
MaterialAlertDialogBuilder(context)
.setTitle(R.string.confirm)
.setMessage(R.string.logout)
.setPositiveButton(R.string.logout_alert_positive) { _, _ -> activity?.logout() }
.setNegativeButton(R.string.never_mind, null)
.show()
这是 MaterialAlertDialog 操作的 layout.xml。如您所见,有 3 个按钮,每个按钮都有自己的样式。因此,这是您可以更改它们的方法。
第 1 步:告诉 Android 您要更改默认的MaterialAlertDialog主题。
<style name="Base.AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
...
<item name="materialAlertDialogTheme">@style/AlertDialog</item>
...
</style>
第 2 步:告诉 Android 您要更改特定的按钮样式。buttonBarNeutralButtonStyle
,buttonBarNegativeButtonStyle
或buttonBarPositiveButtonStyle
<style name="AlertDialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
<item name="buttonBarNegativeButtonStyle">@style/NegativeButtonStyle</item>
</style>
第 3 步:定义您的自定义样式
<style name="NegativeButtonStyle" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:textColor">#FF0000</item>
</style>