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ù) | 類(lèi)型 | 說(shuō)明 | 默認(rèn)值 |
|---|---|---|---|
| editable | boolean | 是否可編輯(添加和刪除) | false |
| span | integer | 每行最多顯示多少 | 3 |
| space | dimension | 圖片間隔大小 | 8dp |
| max | integer | 最多顯示多少?gòu)垐D片 | 9 |
| imageLayoutMode | integer | 圖片布局類(lèi)型:動(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)擊...
}
});
依賴(lài)
第一步:添加到根build.gradle
allprojects {
repositories {
...
jcenter()
}
}
第二步:在模塊的build.gradle添加依賴(lài)
dependencies {
compile 'com.github.goyourfly:multi_picture_view:latestVersion'
}
感謝
在Demo中使用了下面兩個(gè)開(kāi)源項(xiàng)目,感謝一哈,雖然第二個(gè)是我寫(xiě)的...大家要覺(jué)得好用,記得給我點(diǎn)個(gè)贊
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android客戶端post請(qǐng)求服務(wù)器端實(shí)例
這篇文章主要介紹了Android客戶端post請(qǐng)求服務(wù)器端實(shí)例,本文講解了Android客戶端與服務(wù)器端通信方式、解析服務(wù)器端返回?cái)?shù)據(jù)的解釋、用GET和POST訪問(wèn)http資源等內(nèi)容,并給出了一個(gè)POST實(shí)例,需要的朋友可以參考下2015-06-06
Android 兩個(gè)ViewPager的聯(lián)動(dòng)效果的實(shí)現(xiàn)
這篇文章主要介紹了Android 兩個(gè)ViewPager的聯(lián)動(dòng)效果的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Android實(shí)現(xiàn)刮刮樂(lè)示例分析
本文實(shí)現(xiàn)了Android刮刮樂(lè)示例分析,刮獎(jiǎng)在生活中常常見(jiàn)到,網(wǎng)上現(xiàn)在也有各種各樣的抽獎(jiǎng)活動(dòng),下面我們就要實(shí)現(xiàn)一個(gè)刮刮樂(lè)程序。2016-10-10
Android新特性ConstraintLayout完全解析
這篇文章主要為大家詳細(xì)介紹了Android新特性ConstraintLayout ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
Android WebView 不支持 H5 input type="file" 解決方法
這篇文章主要介紹了Android WebView 不支持 H5 input type="file" 解決方法,需要的朋友可以參考下2017-06-06
5個(gè)Android開(kāi)發(fā)中比較常見(jiàn)的內(nèi)存泄漏問(wèn)題及解決辦法
本文主要介紹了5個(gè)Android開(kāi)發(fā)中比較常見(jiàn)的內(nèi)存泄漏問(wèn)題及解決辦法,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
Android應(yīng)用中拍照后獲取照片路徑并上傳的實(shí)例分享
這篇文章主要介紹了Android應(yīng)用中拍照后獲取照片路徑并上傳的實(shí)例分享,文中使用MultipartEntityBuilder制作了一個(gè)簡(jiǎn)單的上傳工具,需要的朋友可以參考下2016-03-03
Android修改源碼解決Alertdialog觸摸對(duì)話框邊緣消失的問(wèn)題
在開(kāi)發(fā)的時(shí)候遇到一個(gè)問(wèn)題,就是一觸摸對(duì)話框邊緣外部,對(duì)話框會(huì)自動(dòng)消失。這個(gè)問(wèn)題很糾結(jié)啊,查找了一下發(fā)現(xiàn)從Android 4.0開(kāi)始,AlertDialog有了變化,就是在觸摸對(duì)話框邊緣外部,對(duì)話框會(huì)自動(dòng)消失,查了源碼,找到解決辦法如下2013-11-11

