Android開(kāi)發(fā)中ImageLoder加載網(wǎng)絡(luò)圖片時(shí)將圖片設(shè)置為ImageView背景的方法
本文實(shí)例講述了Android開(kāi)發(fā)中ImageLoder加載網(wǎng)絡(luò)圖片時(shí)將圖片設(shè)置為ImageView背景的方法。分享給大家供大家參考,具體如下:
最近開(kāi)始接觸到android的開(kāi)發(fā),在開(kāi)發(fā)中使用ImageLoder加載網(wǎng)絡(luò)圖片,但是框架加載的圖片默認(rèn)是通過(guò)ImageView的src屬性設(shè)置,所以在某些場(chǎng)合是不符合需求,比如通過(guò)設(shè)置src在某些場(chǎng)景下是不能填充滿(mǎn)整個(gè)ImageView,但是通過(guò)設(shè)置背景就可以實(shí)現(xiàn),而框架并沒(méi)有提供將圖片設(shè)置為背景的方法,我在網(wǎng)上找了半天也看到了一些解決方案,但不是我想要的,于是我決定去看看源碼是怎么實(shí)現(xiàn),果然在源碼中就找到了“新大陸”,壓抑不住內(nèi)心的喜悅趕緊寫(xiě)博客分享,也算做個(gè)筆記,希望對(duì)大家有幫助。
廢話(huà)到此為止 開(kāi)始將進(jìn)入主題(上代碼)
/** * 加載網(wǎng)絡(luò)圖片設(shè)置為ImageView背景 * * @param url * @param view */ public void loadImageToBackground(String url, ImageView view) { ImageLoader.getInstance().displayImage(url, new BgImageViewAware(view)); }
上面這個(gè)方法就是一個(gè)簡(jiǎn)單的使用ImageLoder加載網(wǎng)絡(luò)圖片的例子,如果要將圖片設(shè)置為背景,其核心部分就在 BgImageViewAware這個(gè)類(lèi)里面,BgImageViewAware是一個(gè)自定義的類(lèi),它繼承自ImageViewAware這個(gè)類(lèi),我在看源碼的時(shí)候發(fā)現(xiàn)ImageLoder就是通過(guò) ImageViewAware這個(gè)類(lèi)把加載的圖片設(shè)置到src屬性的(有興趣的小伙伴可以自己去看源碼,源碼我就不貼出來(lái)了),所以我只需要重寫(xiě)這個(gè)類(lèi)的方法將圖片設(shè)置到背景就解決了
下面是BgImageViewAware類(lèi)的代碼:
/** * <pre>將圖片設(shè)置為ImageView的背景</pre> * Created by ZCM on 2016/8/5. version 1.0 */ public class BgImageViewAware extends ImageViewAware { public BgImageViewAware(ImageView imageView) { this(imageView, true); } public BgImageViewAware(ImageView imageView, boolean checkActualViewSize) { super(imageView, checkActualViewSize); } @TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override public boolean setImageBitmap(Bitmap bitmap) { //重寫(xiě)父類(lèi)方法,將圖片設(shè)為背景 if(Looper.myLooper() == Looper.getMainLooper()) { ImageView imageView = (ImageView)this.imageViewRef.get(); if(imageView != null) { imageView.setBackground(new BitmapDrawable(bitmap)); return true; } } return false; } @Override public boolean setImageDrawable(Drawable drawable) { return super.setImageDrawable(drawable); } }
到了這一步,將圖片設(shè)置為ImageView的背景的整個(gè)功能算是我完成了(其實(shí)很簡(jiǎn)單^_^)
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android圖形與圖像處理技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android編程實(shí)現(xiàn)圖片背景漸變切換與圖層疊加效果
- Android編程實(shí)現(xiàn)左右滑動(dòng)切換背景的方法
- Android實(shí)現(xiàn)動(dòng)態(tài)切換組件背景的方法
- 修改Android FloatingActionButton的title的文字顏色及背景顏色實(shí)例詳解
- Android編程實(shí)現(xiàn)控件不同狀態(tài)文字顯示不同顏色的方法
- Android中EditText和AutoCompleteTextView設(shè)置文字選中顏色方法
- android開(kāi)發(fā)修改狀態(tài)欄背景色和圖標(biāo)顏色的示例
- Android中創(chuàng)建類(lèi)似Instagram的漸變背景效果
- Android開(kāi)發(fā)之背景動(dòng)畫(huà)簡(jiǎn)單實(shí)現(xiàn)方法
- Android編程實(shí)現(xiàn)對(duì)話(huà)框Dialog背景透明功能示例
- Android開(kāi)發(fā)實(shí)現(xiàn)按鈕點(diǎn)擊切換背景并修改文字顏色的方法
相關(guān)文章
解決Android Studio4.1沒(méi)有Gsonfomat插件,Plugin “GsonFormat” is inco
這篇文章主要介紹了解決Android Studio4.1沒(méi)有Gsonfomat插件,Plugin “GsonFormat” is incompatible (supported only in IntelliJ IDEA)的問(wèn)題 ,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-12-12Android中實(shí)現(xiàn)下載和解壓zip文件功能代碼分享
這篇文章主要介紹了Android中實(shí)現(xiàn)下載和解壓zip文件功能代碼分享,本文直接給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03android 左右滑動(dòng)+索引圖標(biāo)實(shí)現(xiàn)方法與代碼
使用Gallery和ImageView實(shí)現(xiàn)android左右滑動(dòng)+索引圖標(biāo)效果,接下來(lái)詳細(xì)介紹,有需要的朋友可以參考下2012-12-12Android重寫(xiě)View實(shí)現(xiàn)全新的控件
這篇文章主要介紹了Android重寫(xiě)View來(lái)實(shí)現(xiàn)全新的控件,最難的一種自定義控件形式,感興趣的小伙伴們可以參考一下2016-05-05解析:ClickOnce通過(guò)URL傳遞參數(shù) XXX.application?a=1
本篇文章是對(duì)ClickOnce通過(guò)URL傳遞參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06android調(diào)用WebService實(shí)例分析
這篇文章主要介紹了android調(diào)用WebService的方法,以實(shí)例形式較為詳細(xì)的分析了WebService的調(diào)用原理與具體使用方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android UI實(shí)現(xiàn)單行文本水平觸摸滑動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Android UI實(shí)現(xiàn)單行文本水平觸摸滑動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10Android編程實(shí)現(xiàn)短信收發(fā)及語(yǔ)音播報(bào)提示功能示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)短信收發(fā)及語(yǔ)音播報(bào)提示功能,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)短信的接收、發(fā)送以及相應(yīng)的語(yǔ)音播報(bào)提示功能相關(guān)操作技巧,需要的朋友可以參考下2017-08-08