第一种:
//点击后的背景颜色(HighLightColor)属于TextView的属性,//Android4.0以上默认是淡绿色,低版本的是黄色。解决方法就是通过重新设置文字背景为透明色
textView.setHighlightColor(getResources().getColor(android.R.color.transparent));
SpannableString spanableInfo = new SpannableString(\"这是一个测试\"+\": \"+\"点击我\");
//通过下标来确定哪些字体可点击
spanableInfo.setSpan(newClickable(clickListener),8,11,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spanableInfo);textView.setMovementMethod( MovementMethod.getInstance());
//点击的响应事件
private Listener clickListener=new Listener() {
@Override
public void (View v) {
Toast.makeText(MainActivity.this, \"点击成功....\",Toast.LENGTH_SHORT).show();}
};
class Clickable extends ClickableSpan{
private final View. Listener mListener;
public Clickable(View. Listener l) {
mListener = l;
}
/*** 重写父类点击事件*/
@Override
public void (View v) {
mListener. (v);
}
/*** 重写父类updateDrawState方法 我们可以给TextView设置字体颜色,背景颜色等等...*/
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(getResources().getColor(R.color.video_comment_like_number));}//可点击文字的颜色
ds.setUnderlineText(true);//给可点击文字添加下划线
}
这就完成了,要是不知道为什么点击之后文字有背景色,你并不需要的话,请看文章开头.
第二种方法: 通过TextView的一个属性append添加到尾部
SpannableString clickString2 = new SpannableString(\"速戳查看\");
clickString2.setSpan(new ClickableSpan() {
@Override
public void (View widget) {
//点击处理事件
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(Color.parseColor(\"#FD871E\")); //设置颜色
}
}, 0, clickString2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textview.setText(list.get(position).content+\" \");//先赋值你的信息 textview.append(clickString2); //再把点击事件放到后面 textview.setMovementMethod( MovementMethod.getInstance());
这两种方法主要处理样式差不多,第一种合着来,可确定要设置文字的位置,第二种分着来,只能添加到尾部
继续阅读与本文标签相同的文章
中国团队再次称雄AI大赛,微软谷歌FB都甩在身后
-
PDF转成TXT文本格式,应该如何转换比较快?
2026-05-18栏目: 教程
-
投资10亿!薛城区将开创全新现代化商贸物流模式
2026-05-18栏目: 教程
-
平板笔记本全网相关搜索量排名 平板笔记本全网相关搜索量排行榜
2026-05-18栏目: 教程
-
拼多多开店的5大盲区!赶紧避开
2026-05-18栏目: 教程
-
如何打造一个销售流程把业务做好?
2026-05-18栏目: 教程
