//定義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);