一、效果展示

我们先来看下效果:

二、代码实现

注释写的已经很详细了,其中tvLoginPrivacyPolicy是我需要设置对应地方有点击效果的TextView,具体代码实现如下所示:

private void setTvLoginPrivacyPolicySpecialText() {    // 不需要点击的文字    tvLoginPrivacyPolicy.setText(R.string.Bylogging);    // 设置需要点击的文字    SpannableString clickString1 = new SpannableString(getString(R.string.PrivacyPolicy));    // 设置需要点击文字的样式    clickString1.setSpan(new ClickableSpan() {        @Override        public void onClick(View widget) {            // 点击之后需要做的操作            forwardPrivacyPolicy();        }        @Override        public void updateDrawState(TextPaint ds) {            super.updateDrawState(ds);            // 设置可点击文字的颜色            ds.setColor(getResources().getColor(R.color.clickText));        }        // 0-->clickString1.length()这个长度就是需要点击的文字长度    }, 0, clickString1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    // 将需要点击的文字添加到我们的TextView中    tvLoginPrivacyPolicy.append(clickString1);    // 继续添加不需要点击的文字组装TextView    tvLoginPrivacyPolicy.append(new SpannableString(" " + getString(R.string.And)) + " ");    // 添加需要点击的文字    SpannableString clickString2 = new SpannableString(getString(R.string.TermsAndConditions));    // 设置需要点击文字的样式    clickString2.setSpan(new ClickableSpan() {        @Override        public void onClick(View widget) {            forwardPrivacyPolicy();        }        @Override        public void updateDrawState(TextPaint ds) {            super.updateDrawState(ds);            //设置颜色            ds.setColor(getResources().getColor(R.color.clickText));        }        // 0-->clickString2.length()这个长度就是需要点击的文字长度    }, 0, clickString2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    tvLoginPrivacyPolicy.append(clickString2);    // 设置点击文字点击效果为透明    tvLoginPrivacyPolicy.setHighlightColor(Color.TRANSPARENT);    // 开始响应点击事件    tvLoginPrivacyPolicy.setMovementMethod(LinkMovementMethod.getInstance());}

更多相关文章

  1. Android(安卓)TextView控件
  2. android中回调函数
  3. Android软件开发环境搭建
  4. android基础6——设置圆角按钮
  5. Android(安卓)GridView控件 使用
  6. Android(安卓)journey3 @点击事件的4种写法
  7. fragment内嵌fragment之间传值+切换fragment
  8. button,imagebutton背景设置透明或者半透明
  9. 适配Android(安卓)7.0出现读取外部存储问题解决方法

随机推荐

  1. 在Mac系统上配置MySQL以及Squel Pro
  2. Mysql数据库存储过程基本语法讲解
  3. Linux下MySQL数据库的主从同步复制配置
  4. mysql分表分库的应用场景和设计方式
  5. mysql数据库分表分库的策略
  6. Mysql语法、特殊符号及正则表达式的使用
  7. MySql数据库查询中的特殊命令
  8. MySql常用查询命令操作大全
  9. Mysql触发器在PHP项目中用来做信息备份、
  10. ubuntu下mysql版本升级到5.7