首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android 服务协议隐私政策高亮可点击写法

Android 服务协议隐私政策高亮可点击写法

作者头像
yechaoa
发布2022-06-10 14:45:13
发布2022-06-10 14:45:13
1.2K00
代码可运行
举报
文章被收录于专栏:移动开发专栏移动开发专栏
运行总次数:0
代码可运行

实现效果:

亦或者是在弹窗中显示,都是一样的。

代码比较简单,涉及到SpannableStringBuilder知识点

用到两个Span:

  • ClickableSpan 处理点击事件
  • ForegroundColorSpan 设置修饰

代码:

代码语言:javascript
代码运行次数:0
运行
复制
    private fun setText() {
        //拼接字符串
        val spanBuilder = SpannableStringBuilder("同意")

        /**
         * 服务协议
         */
        var span = SpannableString("服务协议")
        //服务协议点击事件
        span.setSpan(object : ClickableSpan() {
            override fun onClick(widget: View) {
                Toast.makeText(this@LoginActivity,"服务协议",Toast.LENGTH_SHORT).show()
            }
        }, 0, span.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
        //设置颜色、下划线
        span.setSpan(
            ForegroundColorSpan(Color.parseColor("#D1894A")),
            0,
            span.length,
            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
        )
        spanBuilder.append(span)

        spanBuilder.append("与")

        /**
         * 隐私政策
         */
        span = SpannableString("隐私政策")
        span.setSpan(object : ClickableSpan() {
            override fun onClick(widget: View) {
                Toast.makeText(this@LoginActivity,"隐私政策",Toast.LENGTH_SHORT).show()
            }
        }, 0, span.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
        span.setSpan(
            ForegroundColorSpan(Color.parseColor("#D1894A")),
            0,
            span.length,
            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
        )
        spanBuilder.append(span)

        // 赋值给TextView
        tv_service_agreement.movementMethod = LinkMovementMethod.getInstance()
        tv_service_agreement.text = spanBuilder
        //设置高亮颜色透明,因为点击会变色
        tv_service_agreement.highlightColor = ContextCompat.getColor(applicationContext, R.color.transparent)
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档