android textview 用html设置字体

本文介绍如何在Android应用中使用TextView展示包含HTML格式文本的内容,并着重讲解了如何处理HTML中的图片资源,使其能在TextView中正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      TextView tv=(TextView)findViewById(R.id.textView1);  
      String html="<html><head><title>TextView使用HTML</title></head><body><p><strong>强调</strong></p><p><em>斜体</em></p>"+"<p><a href=\"http://www.dreamdu.com/xhtml/\">超链接HTML入门</a>学习HTML!</p><p><font color=\"#aabb00\">颜色1" +"</p><p><font color=\"#00bbaa\">颜色2</p><h1>标题1</h1><h3>标题2</h3><h6>标题3</h6><p>大于>小于<</p><p>" + "下面是网络图片</p><img src=\"http://avatar.youkuaiyun.com/0/3/8/2_zhang957411207.jpg\"/></body></html>";  

        tv.setMovementMethod(ScrollingMovementMethod.getInstance());//滚动  
    tv.setText(Html.fromHtml(html));      

#

可以看出,字体效果是显示出来了,但是图片却没有显示。要实现图片的显示需要使用Html.fromHtml的另外一个重构方法:public static Spanned fromHtml (String source, Html.ImageGetterimageGetter, Html.TagHandler tagHandler)其中Html.ImageGetter是一个接口,我们要实现此接口,在它的getDrawable(String source)方法中返回图片的Drawable对象才可以。
修改后的代码
ImageGetter imgGetter = new Html.ImageGetter() {  
        public Drawable getDrawable(String source) {  
              Drawable drawable = null;  
              URL url;    
              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;   
        }  
};  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值