我正在尝试使用特殊格式在textview中打印十进制数:逗号左侧的部分以特定大小显示,右侧部分以不同大小显示。
关于如何使这项工作的任何想法?
答案 0 :(得分:3)
您可以使用SpannableString
TextView tv = findViewById(R.id.textview);
String value = "10.3";
final SpannableString text = new SpannableString(value);
text.setSpan(new RelativeSizeSpan(1.5f), value.indexOf(".")+1, value.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text.setSpan(new ForegroundColorSpan(Color.RED), value.indexOf(".")+1, value.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(text);
更多参考这些 http://alexandroid.net/spannablestring-example/ https://developer.android.com/reference/android/text/SpannableString.html https://takeoffandroid.com/android-spannable-text-view-to-change-color-size-style-and-adding-click-event-for-particular-word-8acd8a05ec61
答案 1 :(得分:0)
使用SpannableString ..
示例强>
String yourText = "20.00";
SpannableString ss = new SpannableString(yourText);
ss.setSpan(new RelativeSizeSpan(1.2f), youString.indexOf(".") + 1, youString.length(), 0);
yourTextview.setText(ss);
答案 2 :(得分:0)
以下是执行此操作的示例
double number = 422.343;
String completeNumber = String.valueOf(number);
int decimalPointIndex = completeNumber.indexOf('.');
SpannableString ss= new SpannableString(completeNumber);
ss.setSpan(new RelativeSizeSpan(2f), 0,decimalPointIndex, 0);
textView.setText(ss);
将十进制数转换为字符串
获取小数点的索引值
然后使用它并将小数点前的第一部分显示为更大的