美文网首页系统控件程序员Android知识
Android一个TextView显示不同样式的文本

Android一个TextView显示不同样式的文本

作者: 蒽香之气 | 来源:发表于2017-03-15 14:01 被阅读800次

一个TextView有不同样式这里用的SpannableString来实现。如下图所示的效果:

Paste_Image.png

上面的效果需要设置两个样式

<style name="money_style1">
        <item name="android:textSize">12sp</item>
        <item name="android:textStyle">normal</item>//正常字体
    </style>
    <style name="money_style2">
        <item name="android:textSize">15sp</item>
        <item name="android:textStyle">bold</item>//加粗
    </style>
  String price=vh.price.getText().toString();
        int len=price.length();
        SpannableString spannableString=new SpannableString(price);
        spannableString.setSpan(new TextAppearanceSpan(context,R.style.money_style1),0,1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        spannableString.setSpan(new TextAppearanceSpan(context,R.style.money_style2),1,price.length()-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        spannableString.setSpan(new TextAppearanceSpan(context,R.style.money_style1),price.length()-1,price.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        vh.price.setText(spannableString);

相关文章

网友评论

    本文标题:Android一个TextView显示不同样式的文本

    本文链接:https://www.haomeiwen.com/subject/ndwwgttx.html