地址:https://github.com/donglua/PhotoPicker
支持加载gif;
不支持图片剪裁。
导包:
compile 'me.iwf.photopicker:PhotoPicker:0.9.5@aar'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.android.support:design:25.3.1'
清单文件:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA" />
<application
...
>
...
<activity android:name="me.iwf.photopicker.PhotoPickerActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"
/>
<activity android:name="me.iwf.photopicker.PhotoPagerActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"/>
</application>
</manifest>
基本用法代码:
Pick Photo(选择照片)
PhotoPicker.builder()
.setPhotoCount(9) //设置选择照片最大值,默认为9
.setGridColumnCount(5) //设置在选择照片界面中的列数,默认为3
.setSelected(selectedPhotos) //保存选择好的照片,下次选择照片在此集合的基础上添加
.setShowCamera(true) //显示照相机按钮
.setShowGif(true) //设置支持gif
.setPreviewEnabled(true) //正在选择照片时是否可以预览
.start(MainActivity.this, PhotoPicker.REQUEST_CODE);
Preview Photo(预览照片)
PhotoPreview.builder()
.setPhotos(selectedPhotos)
.setCurrentItem(position) //预览照片在集合中的position
.setShowDeleteButton(false) //是否显示删除按钮
.start(MainActivity.this);
将选择后的照片返回显示
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && (requestCode == PhotoPicker.REQUEST_CODE || requestCode == PhotoPreview.REQUEST_CODE)) {
List<String> photos = null;
if (data != null) {
photos = data.getStringArrayListExtra(PhotoPicker.KEY_SELECTED_PHOTOS);
}
selectedPhotos.clear();
if (photos != null) {
selectedPhotos.addAll(photos);
}
mPicAdapter.notifyDataSetChanged();
}
}