同一个TextView不同颜色,不同大小的设置

在项目中,如果想要达到下面的这种效果,一般都是设置一个TextView,将里面的字体设置不同大小。


image.png

PS: 如果想要将上图中的文字变成居中对齐就麻烦了,貌似需要自定义span

        TextView test = (TextView) findViewById(R.id.tv3);
        SpannableStringBuilder spannable = new SpannableStringBuilder(test.getText().toString());
        //设置字体颜色为红色
        ForegroundColorSpan good_red = new ForegroundColorSpan(getResources().getColor(R.color.goods_red));
        //设置字体颜色为灰色
        ForegroundColorSpan good_gray = new ForegroundColorSpan(getResources().getColor(R.color.col909090));
        //改变第0-3个字体颜色
        spannable.setSpan(good_red, 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //改变第4-之后所有的字体颜色(这里一定要注意范围,否则会造成越界)
        spannable.setSpan(good_gray, 4, test.length() - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //改变第0个字体大小
        spannable.setSpan(new AbsoluteSizeSpan(40), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //改变第1-第3个字体大小
        spannable.setSpan(new AbsoluteSizeSpan(70), 1, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //改变第4-所有字体大小
        spannable.setSpan(new AbsoluteSizeSpan(40), 4, test.length() - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        test.setText(spannable);

上面设置的flag的区别:


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

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,573评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,703评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 黄昏时分 街上走走 散步拍照 看花赏云
    汪莉_4c55阅读 503评论 0 5
  • 大嶝岛是金门岛附近一个小岛,解放以前是属于金门县管辖的,现在厦门市翔安区。由于先前做了稍微了解,所以早早从集美出发...
    扶羊角上阅读 1,148评论 0 1