80,351
社区成员
发帖
与我相关
我的任务
分享
TextView lblContent = findView(R.id.lblContent);
lblContent.setText(Html.fromHtml(bean.getContent(),
imageUtil.htmlImageTag(ImageUtil.HTML_TYPE_NET, this),
new HtmlTagHandler(this)));
lblContent.setClickable(true);
lblContent.setMovementMethod(LinkMovementMethod.getInstance());
lblContent.setVisibility(View.VISIBLE);
ImageUtil的代码:
/**
* 解析html图片标签的适配器
*
* @param sourceType
* 图片来源的类型
* @param activity
* 容器
* @return
*/
public Html.ImageGetter htmlImageTag(final int sourceType,
final AbstractActivity activity) {
return new Html.ImageGetter() {
public Drawable getDrawable(final String url) {
Drawable drawable = null;
try {
switch (sourceType) {
case HTML_TYPE_NET:
FutureTask<Drawable> task = new FutureTask<Drawable>(
new Callable<Drawable>() {
public Drawable call() throws Exception {
try {
return new BitmapDrawable(activity
.getBitmapByUrl(url));
} catch (Exception e) {
return new BitmapDrawable(
activity.resBitmap(R.drawable.def_photo));
}
}
});
new Thread(task).start();
drawable = task.get((long) Domain.SHORT_REQUEST_TIME,
TimeUnit.MILLISECONDS);
break;
case HTML_TYPE_RES:
drawable = TckApp.get().getResources()
.getDrawable(Integer.parseInt(url));
break;
case HTML_TYPE_LOCAL:
drawable = Drawable.createFromPath(url);
break;
}
} catch (Exception e) {
Log.e(Domain.TAG_NAME, "解析html图片标签的适配器");
}
if (null != drawable) {
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
}
return drawable;
};
};
}
换成WebView,效果会好很多
WebView wbvContent = findView(R.id.wbvContent);
BrowserUtil.get(wbvContent, null, null, true);
wbvContent.loadDataWithBaseURL("file://", bean.getContent(),
BrowserUtil.MIME_TYPE_HTML, HTTP.UTF_8,
BrowserUtil.ABOUT_BLANK);
wbvContent.setVisibility(View.VISIBLE);