android textview里面显示图文混排
来源:互联网 发布:园长妈妈软件下载 编辑:程序博客网 时间:2024/06/11 02:09
1.添加工具类
package com.boya.student.util;
import java.io.BufferedInputStream;
import java.net.URL;
import java.net.URLConnection;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.text.Html.ImageGetter;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
public class URLImageParser implements ImageGetter {
Context c;
TextView container;
/***
* Construct the URLImageParser which will execute AsyncTask and refresh the container
* @param t
* @param c
*/
public URLImageParser(View t, Context c) {
this.c = c;
this.container = (TextView)t;
}
public Drawable getDrawable(String source) {
URLDrawable urlDrawable = new URLDrawable();
// get the actual source
ImageGetterAsyncTask asyncTask =
new ImageGetterAsyncTask( urlDrawable);
asyncTask.execute(source);
// return reference to URLDrawable where I will change with actual image from
// the src tag
return urlDrawable;
}
public class ImageGetterAsyncTask extends AsyncTask<String, Void, Drawable> {
URLDrawable urlDrawable;
public ImageGetterAsyncTask(URLDrawable d) {
this.urlDrawable = d;
}
@Override
protected Drawable doInBackground(String... params) {
String source = params[0];
return fetchDrawable(source);
}
@Override
protected void onPostExecute(Drawable result) {
// set the correct bound according to the result from HTTP call
Log.d("height",""+result.getIntrinsicHeight());
Log.d("width",""+result.getIntrinsicWidth());
urlDrawable.setBounds(0, 0, 0+result.getIntrinsicWidth(), 0+result.getIntrinsicHeight());
// change the reference of the current drawable to the result
// from the HTTP call
urlDrawable.drawable = result;
// redraw the image by invalidating the container
URLImageParser.this.container.invalidate();
// For ICS
URLImageParser.this.container.setHeight((URLImageParser.this.container.getHeight()
+ result.getIntrinsicHeight()));
// Pre ICS
URLImageParser.this.container.setEllipsize(null);
}
/***
* Get the Drawable from URL
* @param urlString "http://www.chinaliberal.com:8080/svc/"
* @return
*/
public Drawable fetchDrawable(String urlString) {
try {
URL aURL = new URL(InterfacePathConfig.Image_Path+urlString);
final URLConnection conn = aURL.openConnection();
conn.connect();
final BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
final Bitmap bm = BitmapFactory.decodeStream(bis);
Drawable drawable = new BitmapDrawable(bm);
drawable.setBounds(0,0,bm.getWidth(),bm.getHeight());
return drawable;
} catch (Exception e) {
return null;
}
}
}
}
2.使用
URLImageParser p = new URLImageParser(tv_content, context);
Spanned htmlSpan = Html.fromHtml(lCoontentKeWenModel.getContent(), p, null);
tv_content.setText(htmlSpan);
- android textview里面显示图文混排
- android TextView图文混排
- android TextView图文混排
- 使用textview显示html里面的图文混排效果,并且图片可点击索引到
- Textview显示Html 图文混排
- android中TextView图文混排
- Android EditText和TextView图文混排
- Android TextView实现图文混排
- android TextView 实现图文混排
- Android TextView加载Html图文混排
- Android使用TextView图文混排
- android 显示图文混排
- TextView 图文混排
- TextView图文混排
- TextView图文混排
- TextView:图文混排
- android 图文混排 显示 与 图文混排输入
- Textview显示Html,图文混排,支持图片点击放大
- vs工程链接出现error LNK2005...already defined
- ASP 在网页中 打开PDF文件
- spring的生命周期
- Error deleting volume
- UML类图中的4种关系
- android textview里面显示图文混排
- java IO
- 表单验证中的电话号码格式校验
- Dism重覆Mount-Wim相同的文件
- handlebars-----each创建分级索引
- PageRank算法简介
- 如何成为游戏主程
- C#中的格式化输出
- php安装不了 sqlserver 解决办法 mssql.dll php_sqlsvr_55_ts.dll