第一種:android
經過Html.fromHtml(String,ImageGetter,tagHandler)json
CharSequence text = Html.fromHtml(capter, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable drawable = null;
try {
drawable = Drawable.createFromStream(new URL(source).openStream(),"image");//從遠程獲取圖片
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());//要設置邊界信息 Drawable自己是沒有邊界信息的
} catch (Exception e) {
e.printStackTrace();
}
return drawable;
}}, null);數組
capter_view= (TextView)findViewById(R.id.bookcapter);ide
capter_view.setText(text);//就能夠顯示出img的圖片信息了(這些操做都不要放在UI線程裏作,由於圖片下載可能比較費時。)spa
第二種:線程
這個須要服務端配合,服務端須要將圖片和文字信息在服務端分割開,同時給index來標示位置(爲了解決內容分割後不會交叉,客戶端能夠按index按原來的順序來排列顯示)繼承
服務端返回的是以圖片img標籤分割的json數組(這個操做android端應該也能夠作)圖片
客戶端遍歷json數組顯示get
若是是img的類型則建立ImageView來顯示imgio
若是是text的類型則建立TextView來顯示text
這塊操做能夠封裝成 繼承LinearLayout 的自定義TestView控件
而後把json數組轉成List<HashMap<key,value>> datas;
模擬TextView的setText方法,咱們也能夠自定義一個setText(),固然你也能夠定義其餘名稱,這個方法不是重寫,因此隨便自定義。
在這個方法裏遍歷數據生成ImageView或TextView
最後經過調用TestView.setText(datas);
生成ImageView後,把ImageView傳給新線程,在線程裏遠程獲取圖片drawable後,再ImageView.setImageDrawable(drawable)