Android(Java):在textview中顯示富文本

動態更改一行文字中某個文字時 有三種方法
1.使用TextView拼接........
 
/**
 * 更新下載數目
 * @param allnum
 * @param loadednum
 * @param loadingnum
 */
2使用一個textView然後代碼中如下(之前是這麼使用的)
public void updateDownloadNum(int allnum,int loadednum,int loadingnum ){
//String mNums = String.format(getResources().getString(R.string.download_num), allnum,loadednum,loadingnum);
String mNums = String.format("全部課程累計下載<b><font color='red'>%1$d</font></b>講已下載%2$d講下載中%3$d講", allnum,loadednum,loadingnum);
// "Total downloaded is <font color='#ee0000'>%s</font>  "
String allnumStr = String.valueOf(allnum);
String loadednumStr = String.valueOf(loadednum);
String loadingnumStr = String.valueOf(loadingnum);
 SpannableStringBuilder mSpannableString=new SpannableStringBuilder(mNums);
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), 8, 8+allnumStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), 13+allnumStr.length()-1,  13+allnumStr.length()-1+loadednumStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), 18+allnumStr.length()-1, 18+allnumStr.length()-1+loadednumStr.length()-1+loadingnumStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//mTvcource_all.setText(mSpannableString);
mTvcource_all.setText(Html.fromHtml(mNums));
}
3使用一個TextView然後代碼如下(建議使用第三種,因爲最簡潔)
/**
 * 更新下載數目
 * @param allnum
 * @param loadednum
 * @param loadingnum
 */
public void updateDownloadNum(int allnum,int loadednum,int loadingnum ){
//String mNums = String.format(getResources().getString(R.string.download_num), allnum,loadednum,loadingnum);
String mNums = String.format("全部課程累計下載<b><font color='red'>%1$d</font></b>講已下載%2$d講下載中%3$d講", allnum,loadednum,loadingnum);
mTvcource_all.setText(Html.fromHtml(mNums));
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章