TextView 实现打电话功能

在这里插入图片描述
先说一下我的需求,人员列表,每个人都有自己的电话号码,并且实现电话号加密,点击携带电话号码到拨号页面。

加密手机号

   val replaceRange = phone.replaceRange(IntRange(3, 6), "****")

把html手机号设为变量,写入加密手机号

   val phoneLink = "<a href='tel:$phone'>$replaceRange</a>"

使链接可以获取焦点

   textPhone.movementMethod = LinkMovementMethod.getInstance()

转为html,进行赋值

  textPhone.text = Html.fromHtml(phoneLink)

这里进行点击就直接可以了,!!!如果不可以,看一下xml文件下
这是我的xml。

 <TextView
            android:id="@+id/text_phone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:autoLink="all"//设置改属性会导致上边代码的失效
 android:textColorLink="@color/tab_selected_color"//设置超链接颜色
            tools:text="1233211234567" />

可能有人会奇怪为什么就ok了,我们可以把这里理解为html语言。

<a herf='tel:.......'>.......</a>

就是这样了。
在这里插入图片描述
完整代码。

  //手机号
        helper.getView<TextView>(R.id.text_phone).apply {
            val phone = item.phone
            if (AccountValidatorUtil.isMobile(phone)) {
                //加密手机号
                val replaceRange = phone.replaceRange(IntRange(3, 6), "****")
                //把html手机号设为变量,写入加密手机号
                val phoneLink = "<a href='tel:$phone'>$replaceRange</a>"
                //使链接可以获取焦点
                movementMethod = LinkMovementMethod.getInstance()
                //转为html
                text = Html.fromHtml(phoneLink)
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值