Android 使用者介面設計之TextView
5.富文字
先說一下什麼是富文字,富文字就是對文字中一些特殊文字或者圖片的特殊顯示。例如我們我們發一段話“你還沒有還我100塊錢。”這句話我們要強調“100塊錢”這是後我們可以把它顯示為特殊的顏色,這其實就是一種富文字。有時候我們QQ聊天經常發表情,其實這也是一種富文字。富文字,可以支援一部分的HTML,也可以動態新增的一些圖片。
textFu=(TextView)findViewById(R.id.textFu);
Spanned spanned=Html.fromHtml("這是一個<font color='#00ffff'>
newHtml.ImageGetter(){
@Override
publicDrawable getDrawable(Strings){
intid=R.mipmap.ic_launcher;
//方法一:通過反射獲得s.
Classclazz=R.mipmap.class;
try{
Field field=clazz.getDeclaredField(s);
id=field.getInt(s);
}catch(NoSuchFieldException
e.printStackTrace();
}catch(IllegalAccessExceptione){
e.printStackTrace();
}
Drawable drawable=getResources().getDrawable(id);
drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
}
},null);
textFu.setText(spanned);
textFu.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
textFu=(TextView)findViewById(R.id.textFu);
Spanned spanned=Html.fromHtml("這是一個<font color='#00ffff'>富文字</font>,然後加一個圖示<img src='a_merchant_06_click'/>",
newHtml.ImageGetter(){
@Override
publicDrawable getDrawable(Strings){
//方法二,直接通過R.mipmap.a_merchant_06_click,得到圖片。
Drawable drawable=getResources().getDrawable(R.mipmap.a_merchant_06_click);
drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
returndrawable;
}
},null);
textFu.setText(spanned);
textFu.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
程式碼設定的富文字顯示如下:
本教程由尚矽谷教育大資料研究院出品,如需轉載請註明來源。