Android 显示html标签或者带图片
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标签或者带图片的更多相关文章
- 【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)
		
转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266 作者:张燕广 实现的Toast工具类ToastUtil封装 ...
 - Android之ListView异步加载图片且仅显示可见子项中的图片
		
折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整 ...
 - Android开发系列(二十三):实现带图片提示的Toast提示信息框
		
Android中的Toast是非经常见的一个消息提示框.可是默认的消息提示框就是一行纯文本.所以我们能够为它设置一些其它的诸如是带上图片的消息提示. 实现这个非常easy: 就是定义一个Layout视 ...
 - ie6下使用js替换img标签src属性图片不显示的错误
		
首先,我必须再次强调一下,F-U-C-K I-E! 其次,简单阐述一下这个bug的出现的情况.页面中有个<a href=”javascript:void(0)” onclick=”swapImg ...
 - 我的Android最佳实践之—— ImageView中图片拉伸显示
		
通过设置android:scaleType="fitXY"使得图片拉伸显示.补充:scaleType的属性有matrix(默认).center.centerCrop.centerI ...
 - Android显示GIF图片
		
今天我们研究一下怎样在Android手机上显示GIF动态图片 首先须要在src文件夹下新建一个自己定义的View.代码例如以下: </pre><pre name="code ...
 - Android性能优化:手把手带你全面实现内存优化
		
前言 在 Android开发中,性能优化策略十分重要 本文主要讲解性能优化中的内存优化,希望你们会喜欢 目录 1. 定义 优化处理 应用程序的内存使用.空间占用 2. 作用 避免因不正确使用内 ...
 - Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
		
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
 - Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
		
我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如L ...
 
随机推荐
- 直接线性变换解法(DLT)用于标定相机
			
直接线性变换法是建立像点坐标和相应物点物方空间坐标之间直接的线性关系的算法.特点:不需要内外方位元素:适合于非量测相机:满足中.低精度的测量任务:可以标定单个相机. 1 各坐标系之间的关系推导直接线性 ...
 - 启动多个appium服务(同时运行多台设备)
			
准备: 一台真机一台模拟器(使用的是“夜神模拟器”) 先查看是否检测到设备 adb devices 由上图可看出没有检测到模拟器(夜神模拟器已开启) 可通过以下配置完成: 第一步:找到adb的 ...
 - 题解 [ZJOI2010]数字计数
			
传送门<-洛谷版 电梯<-bzoj版 这份代码是新手友好版,也算是自用版,注释自认为写的很详细. 希望对要学数位dp的人有所帮助 这份题解是记忆化搜索版的数位DP,个人还是比较建议用这种方 ...
 - AI简单平移追踪算法
			
1.比较坐标追踪法 追踪者会不停地比较自身和目标的x坐标和y坐标,每x和y上一个单位的移动为一个周期,该算法虽然简单好用,但实用性差且不智能化,如果追踪者数量增加,路线会显得单调,由于都是先走个对角线 ...
 - Neo4j使用简单例子(转)
			
Neo4j Versions Most of the examples on this page are written with Neo4j 2.0 in mind, so they skip th ...
 - Visual Studio 跨平台開發實戰(5) - Xamarin Android 多頁面應用程式開發 (转帖)
			
前言 大部份的Android 都具有實體或虛擬的Back鍵. 因此在處理多頁面應用程式時, 與先前所介紹的iOS Navigation controller 比較起來會簡單許多. 1. 開啟Visua ...
 - (转)史上最全的MSSQL复习笔记
			
1.什么是SQL语句 sql语言:结构化的查询语言.(Structured Query Language),是关系数据库管理系统的标准语言. 它是一种解释语言:写一句执行一句,不需要整体编译执行.语法 ...
 - (转)mysql数据库高可用高扩展性架构方案实施
			
http://shanhu.blog.51cto.com/1293405/1212605-----mysql数据库高可用高扩展性架构方案实施
 - eclipse中怎样添加项目至SVN资源库
			
转自:https://jingyan.baidu.com/article/642c9d341caac0644a46f73e.html 这是一个SVN最基本的一个使用方法,转一篇别人写的,方便日后查询. ...
 - JS框架设计之对象数组化一种子模块
			
类数组对象是一个很好的存储结构,但是功能太弱了,为了享受纯数组的哪些便捷的方法,使用前可以做下转换,通常可以使用$.slice.call()方法做转换,但是旧版本的IE下的HTMLCollection ...