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");

Android 显示html标签或者带图片的更多相关文章

  1. 【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)

    转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266  作者:张燕广 实现的Toast工具类ToastUtil封装 ...

  2. Android之ListView异步加载图片且仅显示可见子项中的图片

    折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整 ...

  3. Android开发系列(二十三):实现带图片提示的Toast提示信息框

    Android中的Toast是非经常见的一个消息提示框.可是默认的消息提示框就是一行纯文本.所以我们能够为它设置一些其它的诸如是带上图片的消息提示. 实现这个非常easy: 就是定义一个Layout视 ...

  4. ie6下使用js替换img标签src属性图片不显示的错误

    首先,我必须再次强调一下,F-U-C-K I-E! 其次,简单阐述一下这个bug的出现的情况.页面中有个<a href=”javascript:void(0)” onclick=”swapImg ...

  5. 我的Android最佳实践之—— ImageView中图片拉伸显示

    通过设置android:scaleType="fitXY"使得图片拉伸显示.补充:scaleType的属性有matrix(默认).center.centerCrop.centerI ...

  6. Android显示GIF图片

    今天我们研究一下怎样在Android手机上显示GIF动态图片 首先须要在src文件夹下新建一个自己定义的View.代码例如以下: </pre><pre name="code ...

  7. Android性能优化:手把手带你全面实现内存优化

      前言 在 Android开发中,性能优化策略十分重要 本文主要讲解性能优化中的内存优化,希望你们会喜欢 目录   1. 定义 优化处理 应用程序的内存使用.空间占用 2. 作用 避免因不正确使用内 ...

  8. Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  9. Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案

    我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如L ...

随机推荐

  1. Hibernate 连接数据库,数据库返回数据超过限制报错

    1.packet for query is too large 1024 >. you can change this value on the server mysql max_allowed ...

  2. Python PIL库学习笔记

    1.PIL简介 Python Imaging Library(缩写为PIL)(在新的版本中被称为Pillow)是Python编程语言的开源库,它增加了对打开,操作和保存许多不同图像文件格式的支持.它适 ...

  3. HDU - 4630 离线处理区间点对问题

    题意:给定\(a[1...n]\),多次询问\([L,R]\)中的任意一对数使得\(gcd(a_i,a_j)\)最大 对于gcd,区间内至少存在两个相同的因子才能作为合法的解,存在两个相同因子且最大就 ...

  4. gradle 打包 jar (一波三折)

    第一次尝试,打包成功,运行失败 build.gradle 打包 jar { baseName 'testJar' from { //添加依懒到打包文件 //configurations.compile ...

  5. c# SocketAsyncEventArgs类的使用 IOCP服务器

    要编写高性能的Socket服务器,为每个接收的Socket分配独立的处理线程的做法是不可取的,当连接数量很庞大时,服务器根本无法应付.要响应庞大的连接数量,需要使用IOCP(完成端口)来撤换并处理响应 ...

  6. C# this关键字(给底层类库扩展成员方法)

    本文参考自唔愛吃蘋果的C#原始类型扩展方法—this参数修饰符,并在其基础上做了一些细节上的解释 1.this作为参数关键字的作用 使用this关键字,可以向this关键字后面的类型添加扩展方法,而无 ...

  7. Linux 进程以及多线程的支持

    1.最初内核并没有实现对多线程的支持,2.6之后开始以轻量级进程的方式对多线程进行支持(轻量级线程组). a.在2.6 之前,如果需要实现多线程,只能在用户态下实现,用户程序自己控制线程的切换, 实际 ...

  8. Python2.7环境下安装pydbg

    From:http://blog.csdn.net/cheng_tian/article/details/7652058 最近在看<Python灰帽子:黑客与逆向工程师的Python编程之道&g ...

  9. JavaScript设计模式-20.责任链模式

    <html> <head> <title>javascript高级语法20-责任链模式</title> </head> <body&g ...

  10. PHP之string之str_repeat()函数使用

    str_repeat (PHP 4, PHP 5, PHP 7) str_repeat - Repeat a string str_repeat - 重复一个字符串 Description strin ...