android textview 点击区域放大,Android 在TextView中加入多个点击文本区域

在Android开发中,为了实现TextView中多个可点击区域,如《用户协议》和《隐私政策》,通常的做法是使用多个TextView拼接。然而,本文介绍了一种更简洁的方法:通过创建ClickableSpan和SpannableStringBuilder,结合LinkMovementMethod,使得TextView内部能设置多个点击事件。通过设置不同的点击回调,可以分别处理每个区域的点击行为,同时自定义文字颜色和去除下划线,提高用户体验。
摘要由CSDN通过智能技术生成

Android做注册功能或者其他功能时,一般会需要在一个TextView中,加入多个可以点击的区域,例如下图中的《用户协议》和《隐私政策》,需要有点击事件:

288bd01586bc450776125cd032994a0f.png

很多人会做多个Textview拼接起来,这样其实很麻烦,其实使用一个Android 自带的功能就可以做了。如下:

// 一个图标,即在文本最前面加一个图标

// ImageSpan span = new ImageSpan(mContext, null);

// SpannableString spanStr = new SpannableString("p.");

// spanStr.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

// SpannableStringBuilder ssb = new SpannableStringBuilder(spanStr);

String str = "注册即代表已阅读并遵循《用户协议》和《隐私政策》";

SpannableStringBuilder ssb = new SpannableStringBuilder();

ssb.append(str);

final int start = str.indexOf("《");//第一个出现的位置

ssb.setSpan(new ClickableSpan() {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值