虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > Android编程 > Android UI中TextView的使用方法

Android UI中TextView的使用方法
类别:Android编程   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了Android UI中TextView的使用方法的相关资料,希望通过本文大家能掌握TextView的使用方法,需要的朋友可以参考下

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 TextView Android TextView的使用