我们在开发的过程中可能会遇到这种一行文字有不通颜色的情况,如果用多个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实现富文本展示内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复