一个Android图片(视频)选择器:android-media-picker
jopen
9年前
一个图片(视频)选择器,功能非常全,UI也很漂亮。图片加载使用的是universalimageloader。
使用说明:
该库还有相应的文章:Android Media Picker Library To Pick Photos And Videos ,内包含视频演示。文字内容大部分和下面的介绍差不多。
第一步: 添加 LIBRARY
-
把MediaPicker 库添加到项目中。
-
在AndroidManifest.xml 中注册MediaPickerActivity。
<activity android:name="vn.tungdx.mediapicker.activities.MediaPickerActivity" android:screenOrientation="portrait" android:theme="@style/MediaPickerTheme" />
第二步: 调用ACTIVITY以选择图片或者视频
使用 MediaPickerActivity.java 中的方法来选择图片活着视频。
MediaPickerActivity.open(Activity activity, int requestCode, MediaOptions options); MediaPickerActivity.open(Activity activity, int requestCode); MediaPickerActivity.open(Fragment fragment, int requestCode, MediaOptions options); MediaPickerActivity.open(Fragment fragment, int requestCode);
使用带有裁剪功能的activity去选择图片。
private static final int REQUEST_MEDIA = 100; MediaOptions.Builder builder = new MediaOptions.Builder(); MediaOptions options = builder.setIsCropped(true).setFixAspectRatio(true).build(); MediaPickerActivity.open(this, REQUEST_MEDIA, options);
使用activity选择多个视频。
private static final int REQUEST_MEDIA = 100; MediaOptions.Builder builder = new MediaOptions.Builder(); MediaOptions options = builder.selectVideo().canSelectMultiVideo(true).build(); MediaPickerActivity.open(this, REQUEST_MEDIA, options);
要了解更多的选项,请查看 MediaOptions.Builder.java类。
第三步: 接收图片或者视频
如下重写onActivityResult(int requestCode, int resultCode, Intent data)
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_MEDIA) { if (resultCode == RESULT_OK) { List<MediaItem> mediaSelectedList = MediaPickerActivity .getMediaItemSelected(data); } } }
MediaItem.getUriCropped() MediaItem.getUriOrigin() MediaItem.getPathOrigin(Context context) MediaItem.getPathCropped(Context context)
更多详情,可以查看MediaItem.java 类。