歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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.linuxidc+"'/>", 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. }

這是效果圖:

Copyright © Linux教程網 All Rights Reserved