java - 将突出显示文本应用于多个文本行

标签 java text highlight

我想问您,我必须创建哪些全局代码才能在应用程序的各个位置按下时突出显示文本。或者我是否必须在每个要突出显示的文本正文中向 onClick 方法添加颜色线?

感谢您的建议。

为了更具体地回答我的问题,请看一下这段代码:

public class MainActivity extends AppCompatActivity {
  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView text = (TextView) findViewById(R.id.textView2);
        text.setOnClickListener(new View.OnClickListener() {
            @Override public void onClick(View v) {
                text.setTextColor(Color.GREEN);
            }
        });
    }
}

我在每个页面/屏幕上有 54 个答案,每组 3 个答案,并且必须对每个答案使用相同的方法 - 按下时突出显示。我想知道我怎样才能正确地做到这一点。如果我添加到 findViewById(R.id.textView2); textView2 之后的另一个文本 id 不起作用。

最佳答案

为此,您需要使用 textSelector。

请引用下面的链接了解如何编写选择器 -

Android customized button; changing text color

在您的情况下,如果您希望选择后文本颜色为绿色,您的选择器应该像这样 -

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="false" android:color="defalutColor" />
    <item android:state_selected="true" android:color="greenColor" />
</selector>

你的textView将有textColor =“@dr​​awable/textSelector”

在代码中,您需要为textView编写OnClickListener,在OnClick中,您只需指示textView.setSelected(true),这将使textColor变成绿色。

关于java - 将突出显示文本应用于多个文本行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41913475/

相关文章:

java - 尝试分派(dispatch) MouseEvent 时发生 Stackoverflow 错误。 mouseMoved 有效,但 mouseDragged 无效

android - 如何使用 Android 中自定义适配器类的 OnLongClickListener 突出显示 ListView 项目

Javascript、数据表、jmhighlight 和多重搜索

regex - 寻找 awk 命令以在行尾附加文件名

android - 动态设置指向 strings.xml 中文本的链接

ruby - 我怎样才能得到 Browser.text.include?搜索变量? (使用 Watir 和 Ruby)

javascript - jQuery "blinking highlight"对 div 的影响?

java - 有人使用 SpringSource tc 服务器作为 Tomcat 替代品吗?

java - Tomcat 在我的项目中显示类的 NoClassDefFoundError

java - 使用另一个类中的方法将数字添加到数组中?