我是靠谱客的博主 英俊母鸡,这篇文章主要介绍TextView设置不同的点击事件与不同的颜色(kotlin版),现在分享给大家,希望可以做个参考。

设置不同的点击事件

class TextClick(val content: String, val context: Context) : ClickableSpan() {
        override fun onClick(widget: View?) {
            when (content) {
                "《委托扣款协议》" -> {
                    "《委托扣款协议》被点击了".toast()
                }
                "《快捷支付服务和相关协议》" -> {
                    "《快捷支付服务和相关协议》".toast()
                }
            }
        }

        override fun updateDrawState(ds: TextPaint?) {
            super.updateDrawState(ds)
            //需要设置,否则默认为蓝色  也可以设置字体颜色
            ds?.setColor(context.getResources().getColor(R.color.color_333));
            //去下划线
            ds?.isUnderlineText = false 
        }
    }

使用

        val arg1 = "《委托扣款协议》"
        val arg2 = "《快捷支付服务和相关协议》"
        val spanArg1 = SpannableString(arg1)
        val spanArg2 = SpannableString(arg2)
        val clickttt = TextClick(arg1, this)
        val clicksss = TextClick(arg2, this)
        spanArg1.setSpan(clickttt, 0, arg1.length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
        spanArg2.setSpan(clicksss, 0, arg2.length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
        tvArgeement.text = "同意"
        tvArgeement.append(spanArg1)
        tvArgeement.append("和")
        tvArgeement.append(spanArg2)
        tvArgeement.movementMethod = LinkMovementMethod.getInstance()

flag属性

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)

Spanned.SPAN_INCLUSIVE_EXCLUSIVE(前面包括,后面不包括)

Spanned.SPAN_EXCLUSIVE_INCLUSIVE(前面不包括,后面包括)

Spanned.SPAN_INCLUSIVE_INCLUSIVE(前后都包括)

最后

以上就是英俊母鸡最近收集整理的关于TextView设置不同的点击事件与不同的颜色(kotlin版)的全部内容,更多相关TextView设置不同内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(115)

评论列表共有 0 条评论

立即
投稿
返回
顶部