MultiPictureView是一个可以将多张图片以网格的方式显示的View,通过简单的接口实现烦人的布局,从此解放你的小手手
详细的使用请看示例代码
<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:ratio=" 1"
app:space=" 6dp"
app:span=" 3" />
参数
类型
说明
默认值
editable
boolean
是否可编辑(添加和删除)
false
span
integer
每行最多显示多少
3
ratio
float
宽高比例
1
space
dimension
图片间隔大小
8dp
max
integer
最多显示多少张图片
9
imageLayoutMode
integer
图片布局类型:动态(DYNAMIC=1)和静态(STATIC=2)
STATIC=2
deleteDrawable
drawable
删除图标
红色删除Drawable
addDrawable
drawable
添加图片
灰色添加图片Drawable
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)
}
})
multiPictureView = (MultiPictureView ) findViewById (R .id .multi_image_view );
// 设置图片资源
multiPictureView .setList (list :List <Uri >)
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 <Uri > uris ) {
...
}
});
dependencies {
compile 'com.github.goyourfly:multi_picture_view:latestVersion'
}