1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > TextView中实现部分文字点击

TextView中实现部分文字点击

时间:2019-12-20 11:53:48

相关推荐

TextView中实现部分文字点击

在开发过程中有时候需要实现TextView部分文字的点击效果,实现该功能可以自定义文本控件,也可以用android源生api实现

1、SpannableString是CharSequence接口的实现类,同时它也实现了Spannable接口;

①SpannableString通过setSpan方法可以设置TextView文本的各种样式,包括文本中插入图片(ImageSpan),前景色(ForegroundColorSpan),背景色(BackgroundColorSpan)等

②SpanableString也可以通过设置ClickableSpan设置某一些文字可以被点击

③复写ClickableSpan中的方法

ClickableSpan click = new ClickableSpan() {@Overridepublic void onClick(View widget) {Toast.makeText(OptionalInfoActivity.this, "该功能尚未实现",Toast.LENGTH_SHORT).show();}@Overridepublic void updateDrawState(TextPaint ds) {ds.setUnderlineText(false);ds.clearShadowLayer();ds.setColor(getResources().getColor(R.color.custom_blue));ds.setStrokeMiter(3);}};

View Code

SpannableString spannable = new SpannableString(text);ClickableSpan click = new ClickableSpan() {@Overridepublic void onClick(View widget) {Toast.makeText(OptionalInfoActivity.this, "该功能尚未实现",Toast.LENGTH_SHORT).show();}@Overridepublic void updateDrawState(TextPaint ds) {ds.setUnderlineText(false);ds.clearShadowLayer();ds.setColor(Color.RED);}};spannable.setSpan(click,start,end,SpannableString.SPAN_INCLUSIVE_INCLUSIVE);

View Code

TextView.setText(spannable);

api文档中说道If an object of this type is attached to the text of a TextView with a movement method of LinkMovementMethod, the affected spans of text can be selected. If clicked, theonClick(View)method will be called.

故还必须给这个TextView设置TextView.setMovementMethod(LinkMovementMethod.getInstance());

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。