TextView 显示本地图片,或访问网络图片资源
package com.hilary;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.text.Html;
import android.text.Html.ImageGetter;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.hilary.utils.AsyncImageLoader;
public class Main extends Activity {
Button btn2;
ImageView imge;
Thread thread = null;
Runnable runnable = null;
TextView textView = null;
Drawable dra = null;
private AsyncImageLoader asyncImageLoader;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
asyncImageLoader = AsyncImageLoader.getAsyncImageLoader();
btn2 = (Button) findViewById(R.id.btn2);
textView = (TextView) findViewById(R.id.show_tv);
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Handler handler = new Handler();
// handler.post(runable);
textView.setText(Html.fromHtml( _readFile("/sdcard/test2.txt"), imgGetter, null));
}
});
}
public String _readFile(String str) {
StringBuffer sb = new StringBuffer();
File file = new File(str);
try {
FileReader is = new FileReader(file);
while (is.ready()) {
int c = is.read();
sb.append((char) c);
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
ImageGetter imgGetter = new Html.ImageGetter() {
@Override
public Drawable getDrawable(String source) {
System.out.println("***" + source);
//异步加载图片
// Drawable drawable = asyncImageLoader.loadDrawable(
// source, new ImageCallback() {
//
// @Override
// public void imageLoaded(Drawable imageDrawable,
// String imageUrl) {
// if (imageDrawable == null) {
// } else {
// imageDrawable.setBounds(0, 0, imageDrawable.getIntrinsicWidth(), imageDrawable
// .getIntrinsicHeight());
// }
// dra = imageDrawable;
// }
// });
// if(source.equals("1")){
// drawable = Main.this.getResources().getDrawable(R.drawable.aa);
// } else if (source.equals("2")){
// drawable = Main.this.getResources().getDrawable(R.drawable.b);
// } else {
// drawable = Main.this.getResources().getDrawable(R.drawable.icon);
// }
URL url;
Drawable drawable = null;
try {
url = new URL(source);
drawable = Drawable.createFromStream(url.openStream(), "");
} catch (Exception e) {
return null;
}
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
.getIntrinsicHeight());
return drawable;
}
};
}
分享到:
相关推荐
TextView加载网络图片HTMLIMG,实用型的东西,拿出来大家学习学习
TextView显示html的文本、图片
android下textview 显示html片段,可以显示文字和图片混排,图片可以是网络图片
TextView显示网络图片,我用android2.3的系统,可以显示图片出来,并且如果图片比较大,应用会卡的现象,肯定是因为使用主线程去获取网络图片造成的,但如果我用android4.0以上的系统运行,则不能显示图片,只显示小...
android Textview 实现html 图片点击 两种方式 一种是用webview ,调用jsInterface实现 另一种是 textview 使用Html.from()方法
从网络加载图片显示到listview上,主函数布局是一个ListView item布局是TextView和ImageView 数量的多少视情况而定 再写一个网络请求数据的类 最后面有代码: ”urlConnection 请求数据类的封装“ 类名一定要一样...
TextView 富文本 相关实现,包含的本地图片的加载,网络图片的加载,自定义标签的实现等
当然webView直接显示html页面就行了,我主要说的TextView显示html内容。 首先,说下TextView到底支持那些标签呢,通过对源码的查看,发现Textview可以解析一部分html标签,如: 代码如下: <a> <b> <big> ...
android获取网络图片、html代码,并且下载到本地,通过ImageVIew或者textview显示出来
默认的TextView是无法显示图片的。所以想要实现这个功能得需要我们自己为其添加一个方法。 在这里我们采用SpannableString和ImageSpan两个类来实现这一功能。 先上效果图: main.xml布局文件。我们使用自己定义的...
在TextView中要显示HTML文字是比较轻松的事,但是在其中混上网络图片就变的复杂了起来。本文通过重写getDrawable方法得到drawable实现图文混排效果!
界面上有两个按钮,一个是动态加载textview,一个是动态加载imageview。...如:从网络获取图文并茂的文章(事先不知道文字和图片的位置),可以通过图片标志和文字标志来动态添加textview和imageview
内容简介 · · · · · · Android 4的问世,标志着Google将Android操作系统的大旗插到了...◆ 演示了如何使用视图显示图片和菜单 ◆ 讲解了如何使用内容提供者和如何创建自己的内容提供者 ◆ 示范了如何将长时...
首先我们在项目中导入这个框架: ...按下按钮之后就会在“显示结果”下面显示结果,显示结果下面使用了一个ScrollView,并在ScrollView下面嵌套了一个Textview和Imageview,用于把我们加载成功之后的图片和
6.2 TextView显示表情图像和文字 6.3 TextView单击链接弹出Activity 6.4 TextView实现跑马灯效果 6.5 EditText输入表情图像 6.6 EditText中输入特定的字符 6.7 AutoCompleteTextView完成输入 6.8 Button按钮的焦点...
◆ 演示了如何使用视图显示图片和菜单 ◆ 讲解了如何使用内容提供者和如何创建自己的内容提供者 ◆ 示范了如何将长时间运行的任务放到单独的线程中 ◆ 介绍了如何构建使用SMS消息传递跟踪位置的应用程序 ◆ 阐述了...
比之前的合集更丰富详细的细节;没有最新只有更新! 1、建立GPRS连接 4 2、判断网络状态是否可用 4 3、获得惯性滑动的位置 5 4、横竖屏切换对话框消失 6 5、TextProssBar 显示文字 7 ...105、竖直显示的textView 153
8.6 即时访问网络图片文件展示 8.7 手机气象局,实时卫星云图 8.8 通过网络播放mp3 8.9 设置远程下载音乐为手机铃声 8.10 远程下载桌面背景图案 8.11 将手机文件上传至网站服务器...