android点击文字变色
时间: 2023-09-04 21:12:19 浏览: 55
可以通过使用 SpannableString 和 ClickableSpan 来实现文字的点击和变色效果。具体实现可以参考以下代码:
1. 在 XML 中定义 TextView:
```
<TextView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击我变色"
android:textColor="@color/default_color" />
```
2. 在 Java 中设置点击和变色效果:
```
TextView textView = findViewById(R.id.text_view);
String text = textView.getText().toString();
SpannableString spannableString = new SpannableString(text);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.RED);
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View view) {
// 点击事件处理
}
};
spannableString.setSpan(colorSpan, 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(clickableSpan, 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
textView.setMovementMethod(LinkMovementMethod.getInstance());
```
其中,`ForegroundColorSpan` 用于设置文字的颜色,`ClickableSpan` 用于设置点击事件,`setSpan()` 方法用于将效果应用到指定位置的文字上,`setMovementMethod()` 方法用于设置文字可点击。