Android:Afollestad材质对话框动作按钮文字颜色

Ana*_*d A 1 android material android-button material-design

我一直在使用afollestad的名为material-dialogs的库。我需要更改正负按钮操作的文本颜色。

MaterialDialog(this).show {
            positiveButton("yes") {
                clearData()
                goToLoginPage()
            }
            negativeButton("cancel") { dismiss() }
            message("Some message")
        }
Run Code Online (Sandbox Code Playgroud)

上面是显示材质对话框的代码。对于按钮参数,只能给出按钮的标题。我的要求是将“是”更改为绿色文本颜色,将“取消”更改为红色文本颜色。是否可以使用此库?

Abi*_*han 5

好的,这里是您可以在AppTheme中的styles.xml中覆盖的三行内容,以为其提供自己的颜色。

更改对话框标题颜色

<item name="md_color_title">@color/yourTitleColor</item>
Run Code Online (Sandbox Code Playgroud)

更改对话框内容的颜色

<item name="md_color_content">@color/yourContentColor</item>
Run Code Online (Sandbox Code Playgroud)

更改对话框的正和负按钮颜色

<item name="md_color_button_text">@color/yourPositiveNegativeColor</item>
Run Code Online (Sandbox Code Playgroud)

更改对话框背景颜色

<item name="md_background_color">@color/yourDialogBgColor</item>
Run Code Online (Sandbox Code Playgroud)

更改对话框分隔线颜色

<item name="md_divider_color">@color/yourDialogDividerColor</item>
Run Code Online (Sandbox Code Playgroud)

编辑:

正如OP告诉他要为“正”和“负”按钮提供不同的颜色一样,库中似乎没有解决方案,但是我们可以使用下面给出的解决方法。通过使用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)
}
Run Code Online (Sandbox Code Playgroud)


The*_*dak 0

在发布问题之前一定要阅读文档!

检查此链接以获取主题和对话框文本颜色:material-dialog > docs > Text Color

  • 我确实阅读了文档。他们仅提供了对话框标题和内容的选项。不适用于出现在对话框底部用于用户交互的正向和负向按钮。 (2认同)