文档详情

Android自定义View简单实现多图片选择控件.doc

发布:2017-06-17约1.67万字共13页下载文档
文本预览下载声明
Android自定义View 简单实现多图片选择控件 前言 相信很多朋友在开发中都会遇到图片上传的情况,尤其是多图上传,最 经典的莫过于微信的图片选择了。所有很多情况下会使用到多图选择。 所以就有了这篇文章,今天抽点时间写了个控件。 支持自定义选择图片的样式 支持设置图片选择数量 支持图片预览,删除 支持图片拍照 先来看看效果 实现分析 假如不定义控件,我们要实现这样一个功能,无非是写个GridView在item点击的时候去显示图片进行选择,在返回界面的时候进行GridView的数据刷新。我们把这些逻辑写在我们自定义的GridView中,就成了一个新的控件。 1、GridView的效果展示,逻辑实现。 public class ImagePickerView extends GridView{ //图片选择数量 int maxImageSize = 9; //添加item布局 private int noImgResource; //列选择数量 private int columnNumber = 3; Activity context; ImagesAdapter adapter; ListString imageList;//图片选择list private static final int TYPE_SHOW_ADD = 0; private static final int TYPE_NO_SHOW_ADD = 1; private boolean isShowAdd = true; int imageGridSize; public void setNoImgResource(int noImgResource) { this.noImgResource = noImgResource; } public void setColumnNumber(int columnNumber) { if (columnNumber5){ columnNumber = 5; } this.columnNumber = columnNumber; this.setNumColumns(columnNumber); } public void setShowAdd(boolean showAdd) { isShowAdd = showAdd; } public void setImageList(ListString imageList) { this.imageList = imageList; adapter.setImageList(imageList); } public ListString getImageList() { return imageList; } public ImagePickerView(Context context) { this(context,null); } public ImagePickerView(Context context, AttributeSet attrs) { this(context,attrs,0); } /** * 初始化ImagePickerView的一些信息 * @param context * @param attrs * @param defStyle */ public ImagePickerView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); this.context = (Activity) context; adapter = new ImagesAdapter(); this.setAdapter(adapter); if (imageList==null){ imageList = new ArrayList(); } this.setNumColumns(columnNumber); this.
显示全部
相似文档