Android UI中TextView的使用方法

所属分类: 软件编程 / Android 阅读数: 41
收藏 0 赞 0 分享

Android UI中TextView的使用方法

一、TextView不同区域设置颜色,大小、点击事件

String msg = getResources().getString(R.string.school_roll_auth); 
    SpannableStringBuilder style = new SpannableStringBuilder(msg); 
    // 设置字体颜色 
    style.setSpan( 
        new ForegroundColorSpan(getResources().getColor( 
            R.color.tv_color_99)), 0, msg.length() - 5, 
        Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
    style.setSpan( 
        new ForegroundColorSpan(getResources().getColor( 
            R.color.text_blue)), msg.length() - 5, msg.length(), 
        Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
    // 设置字体背景色 
    style.setSpan( 
        new BackgroundColorSpan(getResources().getColor( 
            R.color.bg_common)), msg.length() - 5, msg.length(), 
        Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
    // 设置可点击部分 
    style.setSpan(new ClickableSpan() { 
 
      @Override 
      public void onClick(View widget) { 
        //do Click .... 
      } 
 
      @Override 
      public void updateDrawState(TextPaint ds) { 
        super.updateDrawState(ds); 
        ds.setUnderlineText(false); 
        ds.clearShadowLayer(); 
      } 
 
    }, msg.length() - 5, msg.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
    tv_school_roll_msg.setText(style); 
    // 此方法在需要响应用户事件时使用,如点击一个电话号码就跳转到拨号页面。如果不执行这个方法是不会响应事件的,即便文本看着已经是下划线蓝色字了。 
    tv_school_roll_msg.setMovementMethod(LinkMovementMethod.getInstance()); 
//设置字体不同大小 
SpannableStringBuilder sb = new SpannableStringBuilder(numText); 
 
      sb.setSpan(new AbsoluteSizeSpan(App.getInstance().getResources() 
          .getDimensionPixelSize(R.dimen.text_size_24)), 0, 
          income.indexOf(".") + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
      sb.setSpan(new AbsoluteSizeSpan(App.getInstance().getResources() 
          .getDimensionPixelSize(R.dimen.text_size_16)), 
          income.indexOf(".") + 1, income.length(), 
          Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
      view.setText(sb); 

 注:Spannable.SPAN_EXCLUSIVE_EXCLUSIVE参数是对区域的说明,左包含,右不包含 SpannableStringBuilder的append方法

SpannableStringBuilder sb = new SpannableStringBuilder(num); 
SpannableStringBuilder sbUnitName = sb.append("元"); 
sbUnitName.setSpan(new AbsoluteSizeSpan(getResources().getDimensionPixelSize(floatSizeResourcesId)), num.length() - 1, num.length() + unitName.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

 append之后数符索引不是从0开始,是从原始字符开始

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多精彩内容其他人还在看

Android studio点击跳转WebView详解

这篇文章主要为大家详细介绍了Android studio点击跳转WebView的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义Drawable实现圆形和圆角

这篇文章主要为大家详细介绍了Android自定义Drawable实现圆形和圆角,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义水平渐变进度条

这篇文章主要为大家详细介绍了Android自定义水平渐变进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ToolBar中menu无法同时显示图标和文字问题的解决方法

这篇文章主要为大家详细介绍了ToolBar中menu无法同时显示图标和文字问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解React Native监听Android回退按键与程序化退出应用

这篇文章主要介绍了详解React Native监听Android回退按键与程序化退出应用的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享

android实现上传本地图片到网络功能

这篇文章主要为大家详细介绍了android实现上传本地图片到网络功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android实现QQ登录功能

这篇文章主要为大家详细介绍了Android实现QQ登录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android实现简单的城市列表功能

这篇文章主要为大家详细介绍了Android实现简单的城市列表功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android Animation之TranslateAnimation(平移动画)

这篇文章主要为大家详细介绍了Animation之TranslateAnimation平移动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android 中Failed to read key from keystore解决办法

这篇文章主要介绍了Android 中Failed to read key from keystore解决办法的相关资料,希望通过本能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多