簡體   English   中英

如何在TextView Android中調整單獨項目的大小

[英]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+" &#9733;</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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM