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

Change text size of the last character of String

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

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

代码:

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

谢谢

试试这个方法...

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

调用这个方法

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;
        }

这样做。

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);