Android的TextView与Html相结合的具体方法

Android中的TextView,本身就支持部分的Html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用Html类转换一下即可。比如:
textView.setText(Html.fromHtml(str));
一、实现TextView里的文字有不同颜色
[plain]


代码如下:

import android.text.Html;

TextView t3 = (TextView) findViewById(R.id.text3);   
t3.setText(Html.fromHtml( "<b>text3:</b>  Text with a " + "<a href=\"http://www.google.com\">link</a> " +"created in the Java source code using HTML."));

二、TextView显示html文件中的图片
我们知道要让TextView解析和显示Html代码。可以使用
[plain]


代码如下:

Spanned text = Html.fromHtml(source);   
tv.setText(text);

来实现,这个用起来简单方便。
但是,怎样让TextView也显示Html中<image>节点的图像呢?
我们可以看到fromHtml还有另一个重构:


代码如下:

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

实现一下ImageGetter就可以让图片显示了:
[plain]


代码如下:

ImageGetter imgGetter = new Html.ImageGetter() {   
            @Override  
             public Drawable getDrawable(String source) {   
                   Drawable drawable = null;   
                   drawable = Drawable.createFromPath(source);  // Or fetch it from the URL   
                   // Important   
                   drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable   
                                .getIntrinsicHeight());   
                   return drawable;   
             }   
};

至于TagHandler,我们这里不需要使用,可以直接传null。

(0)

相关推荐

  • android教程之textview解析带图片的html示例

    复制代码 代码如下: public class MainActivity extends Activity { private Handler handler; private String html; private TextView tv; private ProgressBar bar; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  s

  • Android编程获取网址HTML代码的方法

    本文实例讲述了Android编程获取网址HTML代码的方法.分享给大家供大家参考,具体如下: /** * * @param aUrl 网址 * @param aEncode 编码 * @return 返回的HTML代码 * @throws Exception 对外抛出异常 */ public String getHTML(String aUrl, String aEncode) throws Exception { URL url = new URL(aUrl); HttpURLConnecti

  • Android TextView显示html样式的文字

    先给大家说下项目需求: TextView显示一段文字,格式为:白雪公主(姓名,字数不确定)向您发来了2(消息个数,不确定)条消息 这段文字中名字和数字的长度是不确定的,还要求名字和数字各自有各自的颜色. 就想到了用 Html.fromHtml(String str)来实现. 看方法名很简单,就是可以显示字符串str对应的html格式的文本 比如: Html.fromHtml(<font color='red' size='24'>你好</font>" ) 就将你好以htm

  • Android UI使用HTML布局方法实例

    很多时候我们用HTML布局会更方便直接,记录一下. 我现在主要是直接调用服务器的网页(实际上是jsp的,只是返回的是html),所以需要联网,第一步添加权限. 复制代码 代码如下: <uses-permission android:name="android.permission.INTERNET" /> 布局文件直接用一个WebView,如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8

  • Android开发之利用jsoup解析HTML页面的方法

    本文实例讲述了Android利用jsoup解析HTML页面的方法.分享给大家供大家参考,具体如下: 这节主要是讲解jsoup解析HTML页面.由于在android开发过程中,不可避免的涉及到web页面的抓取,解析,展示等等,所以,在这里我主要展示下利用jsoup jar包来抓取cnbeta.com网站的话题分类的实例. 下面是主要的代码,由于使用及其简单,我这里就不再多说了: package com.android.web; import java.io.BufferedInputStream;

  • 如何在android中使用html作布局文件

    在android开发中,通常使用xml格式来描述布局文件.就目前而言,熟悉android布局及美化的人员少之又少,出现了严重的断层.大部分企业,其实还是程序员自己动手布局.这样既浪费时间和精力,也未必能达到理想的效果.但是,在企业级的android开发中,使用html页面进行布局,也有很多的优势(例如:简单,大部分开发人员及美工都熟悉,方便统一进行更新,管理).据笔者了解,已经有不少的公司在使用这种方式进行布局开发.这也可能是一种趋势. 下面,我将给出一个实例代码,供大家学习使用html页面给a

  • 通过Html网页调用本地安卓(android)app程序代码

    一.通过html页面打开Android本地的app 1.首先在编写一个简单的html页面 复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a h

  • Android TextView显示Html类解析的网页和图片及自定义标签用法示例

    本文实例讲述了Android TextView显示Html类解析的网页和图片及自定义标签.分享给大家供大家参考,具体如下: Android系统显示HTML网页的最佳控件为WebView,有时候为了满足特定需求,需要在TextView中显示HTML网页.图片及解析自定义标签. 1.TextView显示Html类解析的网页 CharSequence richText = Html.fromHtml("<strong>萝卜白菜的博客</strong>--<a href='

  • android textview 显示html方法解析

    现在网络的繁盛时代,光文字是不能满足人们的胃口的,图片,flash,音频,视频就成为浏览网页的主流显示,在手机上也一样.在手机上显示从网络端获取的数据显示,大家很自然的想起两种方式,一种就是webview,一种就是TextView.当然webView直接显示html页面就行了,我主要说的TextView显示html内容. 首先,说下TextView到底支持那些标签呢,通过对源码的查看,发现Textview可以解析一部分html标签,如: 复制代码 代码如下: <a href="...&qu

  • Android实现TextView显示HTML加图片的方法

    本文实例讲述了Android实现TextView显示HTML加图片的方法.分享给大家供大家参考,具体如下: TextView显示网络图片,我用android2.3的系统,可以显示图片出来,并且如果图片比较大,应用会卡的现象,肯定是因为使用主线程去获取网络图片造成的,但如果我用android4.0以上的系统运行,则不能显示图片,只显示小方框. 究其原因,是在4.0的系统上执行的时候报错了,异常是:Android.os.NetworkOnMainThreadException 经过查文档,原来是4.

随机推荐