类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件
類(lèi)似QQ空間,微信朋友圈,微博主頁(yè)等,展示圖片的九宮格控件,自動(dòng)根據(jù)圖片的數(shù)量確定圖片大小和控件大小,使用Adapter模式設(shè)置圖片,對(duì)外提供接口回調(diào),使用接口加載圖片,支持任意的圖片加載框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等,支持點(diǎn)擊圖片全屏預(yù)覽大圖。
該內(nèi)容轉(zhuǎn)載至 NineGridView
NineGridView
類(lèi)似QQ空間,微信朋友圈,微博主頁(yè)等,展示圖片的九宮格控件,自動(dòng)根據(jù)圖片的數(shù)量確定圖片大小和控件大小,使用Adapter模式設(shè)置圖片,對(duì)外提供接口回調(diào),支持任意的圖片加載框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等,支持點(diǎn)擊圖片全屏預(yù)覽大圖。
該項(xiàng)目是根據(jù):https://github.com/laobie/NineGridImageView 修改而成,進(jìn)行了優(yōu)化擴(kuò)展,使代碼更加簡(jiǎn)單,喜歡原作的可以去使用。同時(shí)歡迎大家下載體驗(yàn)本項(xiàng)目,如果使用過(guò)程中遇到什么問(wèn)題,歡迎反饋。
聯(lián)系方式
- 郵箱地址: liaojeason@126.com
- QQ群: 489873144 (建議使用QQ群,郵箱使用較少,可能看的不及時(shí))
- 本群剛建立,旨在為使用我的github項(xiàng)目的人提供方便,如果遇到問(wèn)題歡迎在群里提問(wèn)。個(gè)人能力也有限,希望一起學(xué)習(xí)一起進(jìn)步。
演示
1.用法
使用前,對(duì)于Android Studio的用戶,可以選擇添加:
compile 'com.lzy.widget:ninegridview:0.2.0'或者使用
compile project(':ninegridview')2.項(xiàng)目功能
- 使用Adapter模式設(shè)置圖片
- 當(dāng)圖片數(shù)量只有一張時(shí),自動(dòng)根據(jù)圖片大小調(diào)整控件大小
- 默認(rèn)增加了圖片點(diǎn)擊全屏預(yù)覽效果,并附帶預(yù)覽動(dòng)畫(huà)
- 使用接口加載圖片,支持任意的圖片加載框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等
- 整合了PhotoView圖片預(yù)覽
- 使用接口抽出圖片的加載方式,可以方便的將Glide替換成自己喜歡的ImageLoader等
- 支持fill個(gè)grid兩種顯示模式
- 當(dāng)獲取的圖片數(shù)量超過(guò)最大顯示的圖片數(shù)量時(shí),最后一張圖片上會(huì)顯示剩余數(shù)量(類(lèi)似于QQ的動(dòng)態(tài)效果)
- 使用代碼簡(jiǎn)單,只需要幾行代碼
- 其他功能增加中......
3.參數(shù)含義
| ngv_singleImageSize | 只顯示一張圖片時(shí)的最大圖片大小 |
| ngv_singleImageRatio | 只顯示一張圖片時(shí)圖片寬高比 |
| ngv_gridSpacing | 網(wǎng)格顯示圖片時(shí),圖片之間的間距,默認(rèn)3dp |
| ngv_maxSize | 最多顯示圖片的數(shù)量,默認(rèn)最大9張 |
| ngv_mode | 支持fill和grid兩種顯示模式,其中g(shù)rid模式在顯示4張圖片時(shí)采用2*2的布局 |
4.代碼演示
1.在Application中初始化NineGridView的圖片加載器
NineGridView.setImageLoader(new PicassoImageLoader());/** Picasso 加載 */private class PicassoImageLoader implements NineGridView.ImageLoader {@Overridepublic void onDisplayImage(Context context, ImageView imageView, String url) {Picasso.with(context).load(url)//.placeholder(R.drawable.ic_default_image)//.error(R.drawable.ic_default_image)//.into(imageView);}@Overridepublic Bitmap getCacheImage(String url) {return null;}}2.在自己的Adapter中初始化NineGridView的適配器
- ImageInfo是庫(kù)中提供的數(shù)據(jù)Bean,需要兩個(gè)url,分別表示小圖和大圖的url,沒(méi)有大圖或者小圖,則都賦給相同的Url即可。
- ClickNineGridViewAdapter是庫(kù)中提供的默認(rèn)實(shí)現(xiàn)了點(diǎn)擊預(yù)覽的Adapter,如果不想使用預(yù)覽效果,可以自己繼承 NineGridViewAdapter 實(shí)現(xiàn)其中 onDisplayImage 方法即可。
總結(jié)
以上是生活随笔為你收集整理的类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 游戏直播平台新赛程:负重前行与危中求生
- 下一篇: 硬盘为什么最多只有四个主分区