概述
我们在开发的过程中可能会遇到这种一行文字有不通颜色的情况,如果用多个TextView去实现会让布局显得繁琐而且不利于扩展,那么我们可以使用android提供的SpannableString功能来实现我们的需求。下面我们就用一个TextView实现上述效果,并可以监《听注册协议》和《隐私政策》的点击事件。
代码如下:
String text = "请阅读并同意《注册协议》和《隐私政策》";
SpannableString spannableString = new SpannableString(text);
spannableString.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(TestActivity.this, "点击了", Toast.LENGTH_SHORT).show();
}
// 表示点击整个text的长度都有效触发这个事件
}, 6, 12, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(TestActivity.this, "点击了2", Toast.LENGTH_SHORT).show();
}
// 表示点击整个text的长度都有效触发这个事件
}, 14, 19, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new ForegroundColorSpan(Color.MAGENTA), 14, 19, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
textView.setMovementMethod(LinkMovementMethod.getInstance());
最后
以上就是闪闪灯泡为你收集整理的Android实现富文本展示的全部内容,希望文章能够帮你解决Android实现富文本展示所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复