android.text.Html(2)

TextView实现图片的显示

public static Spanned fromHtml (String source, Html.ImageGetterimageGetter, Html.TagHandler tagHandler);

1.获取网络图片(耗时,最好放在子线程里)

TextView tv=(TextView)findViewById(R.id.textView1);  
String netHtml="<html><p>网络图片</p><img src=\"http://img-android.lisisoft.com/imgmic/2/2/2922-i-ru.arfriendly.ar.masha.in.city.jpg\"/></html>";  
        tv.setText(Html.fromHtml(netHtml, imgNetGetter , null));   
   

ImageGetter imgNetGetter = 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;   
        }  

      };  

2.获取Res目录下的图片

 tv.setText(Html.fromHtml("<img src='"+R.drawable.home_bg1+"'/>", imageGetter, null));

 ImageGetter imageGetter = new ImageGetter() {  
            @Override
           public Drawable getDrawable(String source) {
           int id = Integer.parseInt(source);

          //根据id从资源文件中获取图片对象
           Drawable d = getResources().getDrawable(id);
           d.setBounds(0, 0, d.getIntrinsicWidth(),d.getIntrinsicHeight());
            return d;
           }
           };          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值