我似乎无法从对话框片段中获取文本颜色以更改按钮。此按钮以编程方式生成,因此我无法简单地在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>
由于某种原因,禁用按钮保持灰色而不是白色,我不知道为什么。有人可以帮忙吗
答案 0 :(得分:0)
您需要使用getColorStateList()。
使用btn.setTextColor(getResources().getColorStateList(R.color.message_count_colour));
这行代码可以正常工作。