項目地址:MultiPictureView
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站制作、成都網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的蘇尼特右網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
MultiPictureView是一個可以將多張圖片以網(wǎng)格的方式顯示的View,通過簡單的接口實現(xiàn)煩人的布局,從此解放你的小手手
顯示效果
布局方式
動態(tài)布局
靜態(tài)布局
編輯/顯示模式
如何使用
1. 在布局中聲明
參數(shù) | 類型 | 說明 | 默認值 |
---|---|---|---|
editable | boolean | 是否可編輯(添加和刪除) | false |
span | integer | 每行最多顯示多少 | 3 |
space | dimension | 圖片間隔大小 | 8dp |
max | integer | 最多顯示多少張圖片 | 9 |
imageLayoutMode | integer | 圖片布局類型:動態(tài)(DYNAMIC=1)和靜態(tài)(STATIC=2) | STATIC=2 |
deleteDrawable | drawable | 刪除圖標 | 紅色刪除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 綁定圖片資源,設置事件監(jiān)聽
multiPictureView = (MultiPictureView) findViewById(R.id.multi_image_view); // 設置圖片資源 multiPictureView.setList(list:List) multiPictureView.setAddClickCallback(new MultiPictureView.AddClickCallback() { @Override public void onAddClick(View view) { // 添加圖片回調... } }); multiPictureView.setDeleteClickCallback(new MultiPictureView.DeleteClickCallback() { @Override public void onDeleted(View view,int index) { // 刪除圖片回調,如果不設置,默認刪除圖片... } }); multiPictureView.setItemClickCallback(new MultiPictureView.ItemClickCallback() { @Override public void onItemClicked(View view,int index,ArrayList uris) { // 圖片被點擊... } });
依賴
第一步:添加到根build.gradle
allprojects { repositories { ... jcenter() } }
第二步:在模塊的build.gradle添加依賴
dependencies { compile 'com.github.goyourfly:multi_picture_view:latestVersion' }
感謝
在Demo中使用了下面兩個開源項目,感謝一哈,雖然第二個是我寫的...大家要覺得好用,記得給我點個贊
Matisse
Vincent
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。