我一直在使用一个名为material-dialogs by afollestad的库。我需要更改正负按钮动作的文本颜色。
MaterialDialog(this).show {
positiveButton("yes") {
clearData()
goToLoginPage()
}
negativeButton("cancel") { dismiss() }
message("Some message")
}
以上是显示材料对话框的代码。对于按钮参数,只能给出按钮的标题。我的要求是将“是”更改为绿色文本颜色,将“取消”更改为红色文本颜色。是否可以使用此库?
好的,你可以在stylesThe里面的appTheme中覆盖三行,给它自己的颜色。
更改对话框标题颜色
<item name="md_color_title">@color/yourTitleColor</item>
更改对话框内容颜色
<item name="md_color_content">@color/yourContentColor</item>
更改对话框正面和负面按钮颜色
<item name="md_color_button_text">@color/yourPositiveNegativeColor</item>
更改对话框背景颜色
<item name="md_background_color">@color/yourDialogBgColor</item>
更改对话框分隔线颜色
<item name="md_divider_color">@color/yourDialogDividerColor</item>
编辑:
由于OP告诉他要为Positive和Negative按钮提供不同的颜色,所以库中似乎没有解决方案,但我们可以使用下面给出的解决方法。通过使用java方法Html.from,我们可以为每个按钮文本设置自己的颜色。
val yesText = "<font color='#1B1ED8'>Yes</font>"
val cancelText = "<font color='#44D81B'>Cancel</font>"
MaterialDialog(this).show {
positiveButton(text = Html.fromHtml(yesText))
negativeButton(text = Html.fromHtml(cancelText))
message(R.string.Some_message)
}
检查此链接是否有主题和对话框文本颜色:material-dialog > docs > Text Color
尝试此代码,.positiveColor()和.negativeColor()并更改为项目的gradle版本
// Material Dialogs
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
查看完整示例并下载源代码。
https://github.com/afollestad/material-dialogs/blob/master/documentation/CORE.md#text-color