[英]How to resize separate items in TextView Android
我的TextView由圖塊和評級組成,並在其上應用了不同的大小。 到目前為止,我試圖使我嘗試使用fromHtml來顯示它,但是我遇到了一個問題,即評級的字符串的第二部分移至下一行,我希望它們都位於同一行或更好地表示評級文本然后在同一行上加上標題。 碼:
private void populateTitleView(TextView textView,String title,String rating){
String ratingText = "";
if(!rating.equals("")){
try{
rating = YooTextUtils.roundOffDecimal(rating,2);
}catch (Exception ex){
}
ratingText = "<span size='12px'>"+rating+" ★</span>";
}
String formatedTitle = "<span size='30px'><h1>"+title+"</h1>"+ratingText+"</span>";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
textView.setText(Html.fromHtml(formatedTitle, Html.FROM_HTML_MODE_COMPACT));
} else {
textView.setText(Html.fromHtml(formatedTitle));
}
}
用這個 :
textView.setMaxLines(1);
或在xml textView標記中:
android:maxLines="1"
您可以使用SpannableStringBuilder和RelativeSizeSpan:
String title="";
String rating= "";
String text = title+" "+rating;
SpannableStringBuilder ssBuilder = new SpannableStringBuilder(text);
RelativeSizeSpan bigSize = new RelativeSizeSpan(8.0f); // try changing these values
RelativeSizeSpan midSize = new RelativeSizeSpan(2.0f);
ssBuilder.setSpan(
bigSize, // set big size span
text.indexOf(title),
text.indexOf(title) + String.valueOf(title).length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
);
ssBuilder.setSpan(
midSize, // set mid size span
text.indexOf(rating),
text.indexOf(rating) + String.valueOf(rating).length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
);
textView.setText(ssBuilder); // display the spannable to textview
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.