我花了一些时间在这里,在这里搜索并尝试使用SpannableString的一些不同的解决方案,但我找不到正确的方法。
我想要做的是更改字符串最后一个字符的大小。 例200(大小22)$(大小15)
代码:
txPriceBefore.setText(getPrice() + " $")
由于
答案 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);