Android中显示html文件要用Html.fromHtml(...)处理过的返回值,返回值可以成为setText()的参数。

只显示带文本的html可以用下面的方法处理html文件。

public static Spanned fromHtml (String source)  

显示带图片的html要用下面的方法处理html文件。

public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)  

ImageGetter 为处理html中<img>的处理器,生成Drawable对象并返回。

创建ImageGetter 主要实现下面的方法,source为<img>标签中src属性的值。

public Drawable getDrawable(String source)  

下例为在TextView和EditView中显示html,并插入图片。

下图只显示html文字,点击按钮会在TextView和EditView文本后添加图片。

public class AndroidTest2Activity extends Activity {
/** Called when the activity is first created. */
TextView tv;
EditText et;
Button addPic;
String ct;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et=(EditText) this.findViewById(R.id.editText1); tv=(TextView) this.findViewById(R.id.tv);
ct="aaa<font color=\"red\">aaa</font>";
addPic=(Button) this.findViewById(R.id.AddPic);
addPic.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
ct+="<img src=\""+R.drawable.icon+"\"/>";
refreshView();
} }); refreshView(); }
private void refreshView(){
et.setText(Html.fromHtml(ct,imageGetter,null));
tv.setText(Html.fromHtml(ct,imageGetter,null));
}
ImageGetter imageGetter = new ImageGetter()
{
@Override
public Drawable getDrawable(String source)
{
int id = Integer.parseInt(source);
Drawable d = getResources().getDrawable(id);
d.setBounds(, , d.getIntrinsicWidth(), d .getIntrinsicHeight());
return d;
}
};

1.跳转到浏览器直接访问页面,这段代码是在Activity中拷贝来的,所以有startActivity()方法

Uri uri = Uri.parse("http://www.baidu.com"); //要链接的地址

Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

2.使用TextView显示HTML方法

TextView text1 = (TextView)findViewById(R.id.TextView02);
text1.setText(Html.fromHtml(“<font size=''>网页内容</font>”));

3.直接使用android中自带的显示网页组件WebView

webview = (WebView) findViewById(R.id.WebView01);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.baidu.com");

最新文章

  1. 安装cocoapods遇到两大坑-Ruby版本升级和Podfile的配置
  2. Openfire/XMPP学习之——一个简单的Smack样例
  3. AX7: HOW TO USE CLASS EXTENSION METHODS
  4. [原创.数据可视化系列之二]使用cesium三维地图展示美国全球军事基地分布
  5. fedora14 安装中文输入法
  6. Linux学习笔记(6)Linux常用命令之帮助命令与用户管理命令
  7. xmind的第九天笔记
  8. codeforces 709C C. Letters Cyclic Shift(贪心)
  9. 淘宝杨志丰:OceanBase--淘宝结构化大数据解决之道
  10. 使用Zabbix监控RabbitMQ
  11. Oracle Split Partitions
  12. Datum Form Goole Android
  13. Address already in use: JVM_Bind错误的解决
  14. ios隐藏键盘的方式简单应用
  15. css,解决文字与图片对齐的问题
  16. input file禁用手机本地文件选择,只允许拍照上传图片
  17. OpenSSL 正确安装
  18. Elastic Stack之FileBeat使用实战
  19. .net mvc 分页
  20. SQL注入介绍

热门文章

  1. Javascript框架设计思路图
  2. mp3转speex的一些研究(貌似不能播放,暂存着)
  3. PHP之string
  4. 2-4 js基础-事件对象小结
  5. 浅谈内存映射I/O(MMIO)与端口映射I/O(PMIO)的区别
  6. Ubuntu双网卡不双待攻略
  7. Go RabbitMQ(四)消息路由
  8. Shell 编程-常见的文件处理命令
  9. Golang之并发资源竞争(读写锁)
  10. [转]从客户端中检测到有潜在危险的Request.Form值的详细解决