Android 圖片網(wǎng)格布局控件示例代碼
項(xiàng)目地址:MultiPictureView
MultiPictureView是一個(gè)可以將多張圖片以網(wǎng)格的方式顯示的View,通過(guò)簡(jiǎn)單的接口實(shí)現(xiàn)煩人的布局,從此解放你的小手手
顯示效果
- 支持設(shè)置圖片數(shù)量上限
- 支持設(shè)置最多顯示列數(shù)
- 支持動(dòng)態(tài)布局和靜態(tài)布局兩種模式(見(jiàn)下圖)
- 支持編輯模式和展示模式(編輯模式可以增加和刪除圖片)
布局方式
動(dòng)態(tài)布局
靜態(tài)布局
編輯/顯示模式
如何使用
1. 在布局中聲明
<com.goyourfly.multi_picture.MultiPictureView android:id="@+id/multi_image_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:editable="false" app:deleteDrawable="@drawable/..." app:addDrawable="@drawable/..." app:imageLayoutMode="DYNAMIC" app:max="9" app:space="6dp" app:span="3" />
參數(shù) | 類型 | 說(shuō)明 | 默認(rèn)值 |
---|---|---|---|
editable | boolean | 是否可編輯(添加和刪除) | false |
span | integer | 每行最多顯示多少 | 3 |
space | dimension | 圖片間隔大小 | 8dp |
max | integer | 最多顯示多少?gòu)垐D片 | 9 |
imageLayoutMode | integer | 圖片布局類型:動(dòng)態(tài)(DYNAMIC=1)和靜態(tài)(STATIC=2) | STATIC=2 |
deleteDrawable | drawable | 刪除圖標(biāo) | 紅色刪除Drawable |
addDrawable | drawable | 添加圖片 | 灰色添加圖片Drawable |
2. 在代碼中使用
2.1 初始化ImageLoader
MultiPictureView.setImageLoader(object : ImageLoader { override fun loadImage(image: ImageView, uri: Uri) { Vincent.with(image.context) .load(uri) .placeholder(R.drawable.ic_placeholder_loading) .error(R.drawable.ic_placeholder_loading) .into(image) } })
2.2 綁定圖片資源,設(shè)置事件監(jiān)聽(tīng)
multiPictureView = (MultiPictureView) findViewById(R.id.multi_image_view); // 設(shè)置圖片資源 multiPictureView.setList(list:List<Uri>) multiPictureView.setAddClickCallback(new MultiPictureView.AddClickCallback() { @Override public void onAddClick(View view) { // 添加圖片回調(diào)... } }); multiPictureView.setDeleteClickCallback(new MultiPictureView.DeleteClickCallback() { @Override public void onDeleted(View view,int index) { // 刪除圖片回調(diào),如果不設(shè)置,默認(rèn)刪除圖片... } }); multiPictureView.setItemClickCallback(new MultiPictureView.ItemClickCallback() { @Override public void onItemClicked(View view,int index,ArrayList<Uri> uris) { // 圖片被點(diǎn)擊... } });
依賴
第一步:添加到根build.gradle
allprojects { repositories { ... jcenter() } }
第二步:在模塊的build.gradle添加依賴
dependencies { compile 'com.github.goyourfly:multi_picture_view:latestVersion' }
感謝
在Demo中使用了下面兩個(gè)開(kāi)源項(xiàng)目,感謝一哈,雖然第二個(gè)是我寫的...大家要覺(jué)得好用,記得給我點(diǎn)個(gè)贊
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android使用PowerImageView實(shí)現(xiàn)播放強(qiáng)大的ImageView動(dòng)畫效果
今天我們就來(lái)編寫一個(gè)PowerImageView控件,讓它既能支持ImageView控件原生的所有功能,同時(shí)還可以播放GIF圖片2018-05-05Android軟鍵盤的顯示隱藏功能實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了Android軟鍵盤的顯示隱藏功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03android仿新聞閱讀器菜單彈出效果實(shí)例(附源碼DEMO下載)
本篇文章介紹了android仿新聞閱讀器菜單彈出效果實(shí)例,現(xiàn)在很多閱讀器都有這個(gè)功能,需要的朋友可以看一下。2016-11-11Android開(kāi)發(fā)者常見(jiàn)的UI組件總結(jié)大全
Android開(kāi)發(fā)中UI組件是構(gòu)建用戶界面的基本元素,下面這篇文章主要給大家介紹了關(guān)于Android開(kāi)發(fā)者常見(jiàn)的UI組件總結(jié)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04解決android studio 打開(kāi)java文件 內(nèi)容全變了的問(wèn)題
這篇文章主要介紹了解決android studio 打開(kāi)java文件 內(nèi)容全變了的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Android開(kāi)發(fā)-之環(huán)境的搭建(圖文詳解)
這篇文章主要介紹了Android開(kāi)發(fā)-之環(huán)境的搭建(圖文詳解),具有一定的參考價(jià)值,有興趣的可以了解一下。2016-11-11Android使用OkHttp進(jìn)行網(wǎng)絡(luò)同步異步操作
這篇文章主要為大家詳細(xì)介紹了Android使用OkHttp進(jìn)行網(wǎng)絡(luò)同步異步操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07