Android TextView使用SpannableString实现部分文字点击

    SpannableString msp = new SpannableString("登录即同意用户协议");
    ClickableSpan clickableSpan = new ClickableSpan() {
      @Override public void onClick(View textView) {
       // TODO 点击操作
      }

      @Override public void updateDrawState(TextPaint ds) {
        super.updateDrawState(ds);
        ds.setUnderlineText(false);
      }
    };
    msp.setSpan(clickableSpan, 5, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//第2,第3两个参数,因需设置,文字范围包含第2个,但不包含第3个
    msp.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.sdzz_agreement_color)), 5,
        9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//设置高亮的文字颜色
    textView.setText(msp); //需要设置的TextView
    textView.setMovementMethod(LinkMovementMethod.getInstance());//这个也得设置,不设置点击没效果
  <TextView
      android:id="@+id/textView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textColor="#626262"
      android:textColorHighlight="@android:color/white"
      android:textSize="12sp"
      />

如果想点击高亮文字,背景色不发生改变,就设置textColorHIghlight的属性值和TextView背景色一致.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,277评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,204评论 4 61
  • 文/蓝天 时间的脚步总是太轻,悄无声息地就跨进了金秋十月的门楣。十月,地上的草儿渐渐枯黄,树上的叶子开始飘落,天上...
    西方家的阅读 4,434评论 11 12
  • “悠悠,晚上一起吃饭啦,我有事要和你说。”小笛在电话里约悠悠晚上陪她吃饭。 悠悠左手拿着手机,右手还不忘往脸上拍拍...
    林舍尔阅读 4,693评论 6 4
  • 自从微信出现在人们的生活当中以后,微博用户的活跃度其实并没有受到太大的影响,因为两者的用户人群有着不同的属性。对于...
    斜阳逐流阅读 6,156评论 0 0