android教程之textview解析帶圖片的html示例
public class MainActivity extends Activity {
private Handler handler;
private String html;
private TextView tv;
private ProgressBar bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 網(wǎng)上找的html數(shù)據(jù)
html = "<html><head><title>TextView使用HTML</title></head><body><p><strong>強(qiáng)調(diào)</strong></p><p><em>斜體</em></p>"
+ "<p><a href=\"http://www.dbjr.com.cn">超鏈接HTML入門(mén)</a>學(xué)習(xí)HTML!</p><p><font color=\"#aabb00\">顏色1"
+ "</p><p><font color=\"#00bbaa\">顏色2</p><h1>標(biāo)題1</h1><h3>標(biāo)題2</h3><h6>標(biāo)題3</h6><p>大于>小于<</p><p>"
+ "下面是網(wǎng)絡(luò)圖片</p><img src=\"http://www.dbjr.com.cn/1207.jpg\"/></body>"
+ "下面是網(wǎng)絡(luò)圖片</p><img src=\"http://www.dbjr.com.cn/207.jpg\"/></body></html>";
tv = (TextView) this.findViewById(R.id.id);
bar = (ProgressBar) this.findViewById(R.id.id_bar);
tv.setMovementMethod(ScrollingMovementMethod.getInstance());// 滾動(dòng)
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if (msg.what == 0x101) {
bar.setVisibility(View.GONE);
tv.setText((CharSequence) msg.obj);
}
super.handleMessage(msg);
}
};
// 因?yàn)閺木W(wǎng)上下載圖片是耗時(shí)操作 所以要開(kāi)啟新線程
Thread t = new Thread(new Runnable() {
Message msg = Message.obtain();
@Override
public void run() {
// TODO Auto-generated method stub
bar.setVisibility(View.VISIBLE);
/**
* 要實(shí)現(xiàn)圖片的顯示需要使用Html.fromHtml的一個(gè)重構(gòu)方法:public static Spanned
* fromHtml (String source, Html.ImageGetterimageGetter,
* Html.TagHandler
* tagHandler)其中Html.ImageGetter是一個(gè)接口,我們要實(shí)現(xiàn)此接口,在它的getDrawable
* (String source)方法中返回圖片的Drawable對(duì)象才可以。
*/
ImageGetter imageGetter = new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
// TODO Auto-generated method stub
URL url;
Drawable drawable = null;
try {
url = new URL(source);
drawable = Drawable.createFromStream(
url.openStream(), null);
drawable.setBounds(0, 0,
drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return drawable;
}
};
CharSequence test = Html.fromHtml(html, imageGetter, null);
msg.what = 0x101;
msg.obj = test;
handler.sendMessage(msg);
}
});
t.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
- Android自定義TextView實(shí)現(xiàn)文字圖片居中顯示的方法
- Android DrawableTextView圖片文字居中顯示實(shí)例
- Android中Textview和圖片同行顯示(文字超出用省略號(hào),圖片自動(dòng)靠右邊)
- Android中TextView顯示插入的圖片實(shí)現(xiàn)方法
- Android實(shí)現(xiàn)TextView顯示HTML加圖片的方法
- Android TextView顯示Html類(lèi)解析的網(wǎng)頁(yè)和圖片及自定義標(biāo)簽用法示例
- 在Android TextView中顯示圖片的4種方式詳解
相關(guān)文章
Android反編譯看看手Q口令紅包的實(shí)現(xiàn)原理
這篇文章主要介紹了Android反編譯看看手Q口令紅包的實(shí)現(xiàn)原理,需要的朋友可以參考下2016-02-02Android 動(dòng)畫(huà)之TranslateAnimation應(yīng)用詳解
本節(jié)講解TranslateAnimation動(dòng)畫(huà),TranslateAnimation比較常用,比如QQ,網(wǎng)易新聞菜單條的動(dòng)畫(huà),就可以用TranslateAnimation實(shí)現(xiàn),本文將詳細(xì)介紹通過(guò)TranslateAnimation 來(lái)定義動(dòng)畫(huà),需要的朋友可以參考下2012-12-12Android進(jìn)階手寫(xiě)IPC通信框架告別繁瑣AIDL
這篇文章主要為大家介紹了Android進(jìn)階手寫(xiě)IPC通信框架告別繁瑣AIDL實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01android開(kāi)發(fā)教程之自定義屬性用法詳解
這篇文章主要介紹了android開(kāi)發(fā)中的自定義屬性用法詳解,需要的朋友可以參考下2014-04-04實(shí)現(xiàn)activity管理器一次退出所有activity
退出所有Activity網(wǎng)上有很多很多種說(shuō)法,推薦的一種方法是自定義一個(gè)Activity管理器,來(lái)管理所有已打開(kāi)的Activity,要退出的時(shí)候再通過(guò)這個(gè)管理器來(lái)退出所有Activity,下面是一個(gè)簡(jiǎn)單的Activity管理器代碼2014-01-01Android自定義View實(shí)現(xiàn)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Android Camera2實(shí)現(xiàn)最簡(jiǎn)單的預(yù)覽框顯示
這篇文章主要為大家詳細(xì)介紹了Android Camera2實(shí)現(xiàn)最簡(jiǎn)單的預(yù)覽框顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05CoordinatorLayout的使用如此簡(jiǎn)單(Android)
這篇文章主要為大家詳細(xì)介紹了Android CoordinatorLayout的使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09Android 組合控件實(shí)現(xiàn)布局的復(fù)用的方法
本篇文章主要介紹了Android 組合控件實(shí)現(xiàn)布局的復(fù)用的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08