更改String的最后一个字符的文本大小

时间:2017-03-15 11:16:55

标签: java android string spannablestring

我花了一些时间在这里,在这里搜索并尝试使用SpannableString的一些不同的解决方案,但我找不到正确的方法。

我想要做的是更改字符串最后一个字符的大小。 例200(大小22)$(大小15)

代码:

txPriceBefore.setText(getPrice() + " $")

由于

3 个答案:

答案 0 :(得分:3)

试试这种方式......

 String yourString= getPrice() + " $";
 SpannableString spanString=  new SpannableString(yourString);
 spanString.setSpan(new RelativeSizeSpan(2f), yourString.length()-1,yourString.length(), 0); // set size
 txPriceBefore.setText(spanString); 

答案 1 :(得分:0)

调用此方法

txPriceBefore.setText(setSpanableString(getPrice() + " $"))

public SpannableString setSpanableString(String textString){

            int startIndex = textString.indexOf("₹$");

            SpannableString spanString = new SpannableString(textString);
            spanString.setSpan(new RelativeSizeSpan(5f), startIndex , textString.length(), 0);// set your font size here

            return spanString;
        }

答案 2 :(得分:0)

这样做。

int textSize1 = // small size here.
int textSize2 = // large size here.

String text1 = // get your price here
String text2 = "$";

SpannableString span1 = new SpannableString(text1);
span1.setSpan(new AbsoluteSizeSpan(textSize1), 0, text1.length(), SPAN_INCLUSIVE_INCLUSIVE);

SpannableString span2 = new SpannableString(text2);
span2.setSpan(new AbsoluteSizeSpan(textSize2), 0, 1, SPAN_INCLUSIVE_INCLUSIVE);

// Join both spans together with a space
CharSequence finalText = TextUtils.concat(span1, " ", span2);