设置按钮以编程方式禁用文本颜色

时间:2015-06-11 00:49:16

标签: android button dialog textcolor

我似乎无法从对话框片段中获取文本颜色以更改按钮。此按钮以编程方式生成,因此我无法简单地在xml中设置样式。

这就是我的尝试:

dialog.getButton(DialogInterface.BUTTON_NEUTRAL).setEnabled(false);
dialog.getButton(DialogInterface.BUTTON_NEUTRAL).setTextColor(getResources().getColor(R.color.message_count_colour));

这是我的message_count_colour xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:color="@android:color/white" />
    <item android:state_enabled="true" android:color="@android:color/white" />
</selector>

由于某种原因,禁用按钮保持灰色而不是白色,我不知道为什么。有人可以帮忙吗

1 个答案:

答案 0 :(得分:0)

您需要使用getColorStateList()

使用btn.setTextColor(getResources().getColorStateList(R.color.message_count_colour));这行代码可以正常工作。