GitHub - ChenJun1/PhotoUploadView: 图片上传控件 · GitHub
Skip to content

ChenJun1/PhotoUploadView

 
 

Repository files navigation

PhotoUploadView 1.0.0

@(图片选择、上传控件) **PhotoUploadView **是一个图片选择、上传的自定义控件,通过精心的设计与技术实现,简化实现逻辑,让开发更效率简单。


####PhotoUploadView:1.0.0:

  • 1.支持设置选择个数
  • 2.是否显示上传进度(一般需求分两种): 第一种,选择完图片就单张遍历上传,上传过程可能会导致某一张上传失败(需要显示上传结果的) 第二种,选择完图片,填写完内容,一次post的提交,批量上传 针对第一种情况,我为该控件添加了失败重发的机制。
  • 3.选择后返回的都是压缩后的图片路径

在Application中设置缓存路径

String cache = StorageUtils.getOwnCacheDirectory(this, "PictureUpload/photo").getAbsolutePath();
PictureLibrary.init(this, cache+"/");

在布局中添加

<upload.view.PictureUploadView
   android:id="@+id/pictureUploadView"
   android:numColumns="3"
   android:layout_margin="@dimen/partition_normal"
   android:verticalSpacing="1dp"
   android:horizontalSpacing="2dp"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:scrollbars="none"/>

在代码中使用

mPictureUploadView = (PictureUploadView) findViewById(R.id.pictureUploadView);
//第一个参数上下文
//第二个参数有CHAT(返回原图路径),UPLOAD(返回压缩路径)
//第三个参数选择个数
//第四个参数默认为true(可不填),false为不显示上传进度
mPictureUploadView.init(this, UploadPicHelper.UPLOAD, 3, true);
mPictureUploadView.setShowMethod(PictureUploadView.POPUPWINDOW);//POPUPWINDOW,DIALOG
mPictureUploadView.setUploadCallBack(this);

最重要还是result(如果不重写这一步,图片可能不会显示)

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
            mPictureUploadView.setResult(requestCode, resultCode, data);
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

其它回调逻辑详情查看demo的MainActivity

远程引用

compile 'com.github.BmobSnail:PhotoUploadView:1.0.0'

感谢

本库依赖几个开源库

  • compile 'me.iwf.photopicker:PhotoPicker:0.1.8'
  • compile 'me.drakeet.materialdialog:library:1.2.8'
  • compile 'com.commit451:PhotoView:1.2.4'
  • compile 'com.github.bumptech.glide:glide:3.6.1'**

About

图片上传控件

Resources

Stars

Watchers

Forks

Packages

Contributors

Languages

  • Java 100.0%