gpt4 book ai didi

java - 如何在Android中创建 "clickable"行并在TextView中突出显示该行和文本

转载 作者:行者123 更新时间:2023-12-01 13:13:30 26 4
gpt4 key购买 nike

我创建了一个名为 ClickableRow 的类,它突出显示该行并更改其中所有 TextViews 的文本颜色,然后将该行返回到其初始设置当用户停止点击或滚动太远之后,但我觉得 android 可能已经有一个内置的功能。

我想要完成的主要任务是更改行中的所有 TextViews ,以便在单击发生时它们为白色,并在单击或滚动发生后返回到之前的颜色。我正在完成这个任务,但现在我只是让它把 TextViews 文本变成黑色。这并不总是正确的颜色,所以有没有办法在点击时突出显示文本并在点击后将其恢复为默认颜色?

谢谢。

最佳答案

Android 中的所有Views 有一个方便的属性,称为Tag(您可能知道)。

这意味着您可以将任何您想要的数据存储在特定 View 中。

因此,在您的情况下,您将在其标签中存储 textview 所需的颜色,这样您就可以轻松了解其状态:

    void setTextViewColor(TextView textView, int color) {
textView.setTag((Integer)color);
textView.setColor(color);
}

void restoreTextViewToItsDefaultColor(TextView textView) {
Integer myColor=(Integer)textView.getTag();
textView.setColor(myColor);
}

因此给定一个 TextView:

 TextView myTextView=new TextView(context);

setTextViewColor (Color.RED); // sets to red AND stores red in the tag

稍后,您手动更改行颜色:

myTextView.setColor(Color.BLUE);

然后恢复到原来的状态

 restoreTextViewToItsDefaultColor(myTextView);

如果您手动更改

希望对你有帮助!

关于java - 如何在Android中创建 "clickable"行并在TextView中突出显示该行和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22649145/

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