SpannableStringBuilder用法

   	//定義
SpannableStringBuilder msp = null;
	//需要設置的第一段字符   
String s = "string_01";
	//初始化
msp = new SpannableStringBuilder(s);
	//設置第一段text的字體顏色
msp.setSpan(new ForegroundColorSpan(Color.rgb(255,149,0)),
	0,//從第一個字節開始
s.length(),//到最後一個字節//定義
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
	//追加一段字
msp.append("string_02");
	//設置第二段子的顏色
msp.setSpan(new ForegroundColorSpan(Color.WHITE),s.length(),msp.length(),Spanned.SPAN_INCLUSIVE_EXCLUSIVE); //添加本地bitmap圖片 Bitmap mBm = BitmapFactory.decodeFile( ExternalStorage.getSDCacheDir( mContext, "filepath" ).toString() +"filename.png",null);
	//將bitmap轉換成Drable
Drawable mDb =new BitmapDrawable(mBm);
	//設置圖片寬高
giftDb .setBounds(0, 0, 60,60); //手動添加一段特殊標記到content末尾,用image替換掉這段標記 String text = s + "string_03" ; String rexgString = "mark like this :★";//添加特殊標記
msp.append(rexgString); Pattern pattern = Pattern.compile(rexgString); Matcher matcher = pattern.matcher(text + rexgString); while (matcher.find()) { msp.setSpan(new ImageSpan(mDb,ImageSpan.ALIGN_BOTTOM),matcher.start(), matcher .end(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } tv.setText(msp);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章