Android如何在TextView中显示图片


大家好,今天和大家分享如何在TextView中加入图片的功能,有两种方式,第一种是继承TextView实现图片通过重写来实现图片的显示功能,第二种是利用现成的api实现图片的显示功能。我们知道TextView支持部分HTML标签,但是想在TextView中加入图片则怎么做呢?直接通过<img src=""/>标签肯定是不行的。通过查看API我们发现有这样一个静态的方法:

  1. public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)  

那么是不是只要实现其中的Html.ImageGetter就可以加入图片呢?答案是肯定的!

还是别废话吧,代码最直观

  1. package org.winplus.demo;  
  2.   
  3. import Android.app.Activity;  
  4. import android.graphics.drawable.Drawable;  
  5. import android.os.Bundle;  
  6. import android.text.Html;  
  7. import android.text.Html.ImageGetter;  
  8. import android.widget.TextView;  
  9.   
  10. public class TextViewDemoActivity extends Activity {  
  11.   
  12.     private TextView txtWecome;  
  13.   
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.main);  
  18.         setupViews();  
  19.     }  
  20.   
  21.     private void setupViews() {  
  22.         txtWecome = (TextView) findViewById(R.id.wecome);  
  23.         txtWecome.append(Html.fromHtml("<img src='"+R.drawable.bkjia+"'/>", imageGetter, null));  
  24.     }  
  25.   
  26.     ImageGetter imageGetter = new ImageGetter() {  
  27.   
  28.         @Override  
  29.         public Drawable getDrawable(String source) {  
  30.             int id = Integer.parseInt(source);  
  31.             Drawable drawable = getResources().getDrawable(id);  
  32.             drawable.setBounds(00, drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());  
  33.             return drawable;  
  34.         }  
  35.     };  
  36. }

这是效果图:

Android如何在TextView中显示图片

相关内容