天天看點

TextView使用html.fromhtml加載html并顯示圖檔

項目中需要顯示html的字元串,ios是用的webview,不過感覺webview太麻煩 就是用了textview

str是一個包含圖檔的html格式的檔案,要在textview種顯示文字和圖檔,代碼如下:

int index = str.indexOf("src=\"");

//如果有圖檔
    if(index>-1){
	String regex="src=\"([^\"]*)\"";
	Pattern p=Pattern.compile(regex);
	Matcher m=p.matcher(str);
	if(m.find()){
                //正則比對出圖檔
                System.out.println(m.group(1))
		img = m.group(1);
	}
        //異步吓着圖檔的方法,這裡是先把文字顯示出來,等背景下載下傳好圖檔後,再次設定textview
        downloadImg();
     }
       Html.ImageGetter imageGetter = new ImageGetter() {
		Drawable drawable=null;
		@Override
		public Drawable getDrawable(String source) {
			//加載中提示圖檔
			drawable = getResources().getDrawable(R.drawable.pictures);
			try {
				drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return drawable;
		}
	};
        //s為html布局
	content.setText(Html.fromHtml(s,imageGetter,null));
           

如果要異步加載圖檔,可以使用downloadImg();下載下傳圖檔,下載下傳完成,再次

content.setText(Html.fromHtml(s,imageGetter,null));
           

不過imageGetter 的圖檔需要換成你下載下傳完成的圖檔。

繼續閱讀