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)
            }
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章