簡體   English   中英

多色字符串(android)

[英]Multi-color String (android)

我有一個字符串,我希望組件采取綠色。 不幸的是,我嘗試了各種方法而沒有取得任何結果。 也許你們中的某些人可以幫助我。

這是我試過的:選項1:

String b = "<font color = '#82FA58'>" + Integer.toString(deal.megadeal) + " " + mStrings.getString(AppStrings.textdeal) + "</font>";
ty.redeemText.setText(a + " " + Html.fromHtml(b)  +  " " + c);

選項2:

setText(a + " " + Html.fromHtml("<font color = '#82FA58'> " + b + "</font>")  + " " + c);

你的第二個選擇對我有用。

嘗試一步一步,只做顏色簡單的字符串,然后添加其他文本或變量。

setText(Html.fromHtml("<font color='#522D03'>Hi</font>"));

如果它不起作用,試試這個:

Html.fromHtml("<![CDATA[<font color='#522D03'>Hi</font>]]>");

如果以上其中一項有效,請告訴我。

您可以將所有Html字符串保存為一個並使用BufferType.SPANNABLE。

String b= partOfString + "<font color = '#82FA58'>" + greenstring + "</font>" + otherPartOfString;
yourTextView.setText(Html.fromHtml(b), TextView.BufferType.SPANNABLE);

您可以使用SpannableStringBuilder

String megaDeal = Integer.toString(deal.megadeal);
String textDeal = mStrings.getString(AppStrings.textdeal);
String leftText = a + " ";
String rightText = " " + c;
String middleText = megaDeal + " " + textDeal;
SpannableStringBuilder span = new SpannableStringBuilder( leftText +  middleText + rightText );
span.setSpan(new ForegroundColorSpan(Color.parseColor("#82FA58")), leftText.length(), leftText.length() +  middleText.length(), SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
ty.redeemText.setText(span);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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