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));
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章