Android选择器文本颜色
我已经考虑了太多的StackOverflow问题,但仍然无法让它工作 我动态地(以编程方式)在我的活动上创建了许多按钮。我需要使用选择器来更改背景和文本颜色,具体取决于按钮是否按下 当按下时,我的背景会从黑色变为白色,但我似乎无法改变文本的颜色(或为此进行设置)——它只是默认为黑色 这是我得到的 Java文件:Android选择器文本颜色,android,button,colors,Android,Button,Colors,我已经考虑了太多的StackOverflow问题,但仍然无法让它工作 我动态地(以编程方式)在我的活动上创建了许多按钮。我需要使用选择器来更改背景和文本颜色,具体取决于按钮是否按下 当按下时,我的背景会从黑色变为白色,但我似乎无法改变文本的颜色(或为此进行设置)——它只是默认为黑色 这是我得到的 Java文件: monthButtons[i].setBackgroundResource(R.drawable.button_background); monthButtons[i].setTextC
monthButtons[i].setBackgroundResource(R.drawable.button_background);
monthButtons[i].setTextColor(R.color.text_color);
button_background.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@color/white"/>
<item android:drawable="@color/black"/>
</selector>
text_color.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:textColor="@color/black" />
<item
android:textColor="@color/white" />
</selector>
有人能告诉我当按下按钮时改变文本颜色的方法吗?请记住,我没有在这些按钮的布局文件中定义任何内容
谢谢为什么不使用一个背景xml呢?像这样:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@color/white"
android:textColor="@color/black" />
<item android:drawable="@color/black"
android:textColor="@color/white"/>
</selector>//Untested
您可以使用动态更改文本颜色:
好的,它与onTouchListener一起工作。已将onClickListener用于其他事件。谢谢。我的文本颜色不变。你确定这能正常工作吗?不行。对背景和文本颜色使用两个选择器,效果良好
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN )
{
button.setBackground("#000");
edittext.setTextColor("#dedede");
return true;
}
else
{
button.setBackground("#dedede");
edittext.setTextColor("#000");
return true;
}
return false;
})); // Untested. Sorry i'm away from pc :(