欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TextView 实现打电话功能

程序员文章站 2022-03-13 20:48:29
...

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>

就是这样了。
TextView 实现打电话功能
完整代码。

  //手机号
        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)
            }
        }

相关标签: kotlin Ui控件