欢迎来到天天文库
浏览记录
ID:31590269
大小:107.00 KB
页数:13页
时间:2019-01-14
《Android自定义View 简单实现多图片选择控件》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、-----用心做文档值得下载值得拥有-------Android自定义View简单实现多图片选择控件前言相信很多朋友在开发中都会遇到图片上传的情况,尤其是多图上传,最经典的莫过于微信的图片选择了。所有很多情况下会使用到多图选择。所以就有了这篇文章,今天抽点时间写了个控件。支持自定义选择图片的样式支持设置图片选择数量支持图片预览,删除支持图片拍照先来看看效果实现分析-----用心做文档值得下载值得拥有-------假如不定义控件,我们要实现这样一个功能,无非是写个GridView在item点击的时候去显示图片进行选择,在返
2、回界面的时候进行GridView的数据刷新。我们把这些逻辑写在我们自定义的GridView中,就成了一个新的控件。1、GridView的效果展示,逻辑实现。publicclassImagePickerViewextendsGridView{//图片选择数量intmaxImageSize=9;//添加item布局privateintnoImgResource;//列选择数量privateintcolumnNumber=3;Activitycontext;ImagesAdapteradapter;Listim
3、ageList;//图片选择listprivatestaticfinalintTYPE_SHOW_ADD=0;privatestaticfinalintTYPE_NO_SHOW_ADD=1;privatebooleanisShowAdd=true;intimageGridSize;publicvoidsetNoImgResource(intnoImgResource){this.noImgResource=noImgResource;}publicvoidsetColumnNumber(intcolumnNumber){
4、if(columnNumber>5){columnNumber=5;}this.columnNumber=columnNumber;this.setNumColumns(columnNumber);}-----用心做文档值得下载值得拥有-------publicvoidsetShowAdd(booleanshowAdd){isShowAdd=showAdd;}publicvoidsetImageList(ListimageList){this.imageList=imageList;adapter.set
5、ImageList(imageList);}publicListgetImageList(){returnimageList;}publicImagePickerView(Contextcontext){this(context,null);}publicImagePickerView(Contextcontext,AttributeSetattrs){this(context,attrs,0);}/***初始化ImagePickerView的一些信息*@paramcontext*@paramattrs*
6、@paramdefStyle*/publicImagePickerView(Contextcontext,AttributeSetattrs,intdefStyle){super(context,attrs,defStyle);this.context=(Activity)context;adapter=newImagesAdapter();this.setAdapter(adapter);if(imageList==null){imageList=newArrayList<>();}this.setNumColumns
7、(columnNumber);this.setVerticalSpacing(10);this.setHorizontalSpacing(10);imageGridSize=(this.context.getWindowManager().getDefaultDisplay().getWidth()-Util.dp2px(context,2)*2)/columnNumber;}/**-----用心做文档值得下载值得拥有-------*提供给外部调用用来再Activity返回时获取图片信息*@paramrequestCod
8、e*@paramresultCode*@paramdata*/publicvoidonActivityResult(intrequestCode,intresultCode,Intentdata){if(data!=null&&!TextUtils.isEmpty(data.getStringExtra("photo
此文档下载收益归作者所有