gpt4 book ai didi

Android 选择器文本颜色

转载 作者:行者123 更新时间:2023-11-29 17:57:51 25 4
gpt4 key购买 nike

我已经解决了太多的 StackOverflow 问题,但仍然无法正常工作。

我动态地(以编程方式)在我的 Activity 中创建了一些按钮。我需要使用选择器根据按钮是否按下来更改背景和文本颜色。

按下时背景会从黑色变为白色,但我似乎无法更改文本颜色(或为此设置它)- 它只是默认为黑色。

这是我得到的。

Java 文件:

monthButtons[i].setBackgroundResource(R.drawable.button_background);
monthButtons[i].setTextColor(R.color.text_color);

按钮背景.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

并将其设置为按钮的背景。如果它不起作用,您可以随时以编程方式进行。希望这会有所帮助。

这个怎么样:

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 :(

关于Android 选择器文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18034724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com