实现仿微信的图片选择,预览以及拍照,属性可以设置显示照相机以及预览时是否显示删除按钮等,功能齐全并且可以根据存储照片的路径进行修改等
Gradle配置
dependencies {
compile 'me.iwf.photopicker:PhotoPicker:0.9.5@aar'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
}
appcompat-v7
version >= 23.0.0
选择图片
PhotoPicker.builder()
.setPhotoCount(9)
.setShowCamera(true)
.setShowGif(false)
.setPreviewEnabled(true)
.setSelected(photos)
.start(PhotoActivity.this, PhotoPicker.REQUEST_CODE);
预览图片
PhotoPreview.builder() .setPhotos(photos) .setCurrentItem(0) .setShowDeleteButton(true) .start(PhotoActivity.this,PhotoPicker.REQUEST_CODE );
onActivityResult方法里代码
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == PhotoPicker.REQUEST_CODE) { if (data != null) { photos = data.getStringArrayListExtra(PhotoPicker.KEY_SELECTED_PHOTOS); for (int i=0;i<photos.size();i++){ Log.e("1111===",photos.get(i).toString()); } } } }
manifest配置,权限以及Activity(三方封装方法)
<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>
Custom style配置
<style name="actionBarTheme" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:textColorPrimary">@android:color/primary_text_light</item>
<item name="actionBarSize">15sp</item>
</style>
<style name="customTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="actionBarTheme">@style/actionBarTheme</item>
<item name="colorPrimary">#FFA500</item>
<item name="actionBarSize">15sp</item>
<item name="colorPrimaryDark">#CCa500</item>
</style>