当前位置: 移动技术网 > IT编程>移动开发>Android > Android UI中TextView的使用方法

Android UI中TextView的使用方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

建筑涂料,侯佩岑个人资料,洪荒圣龙

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开始,是从原始字符开始

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网