一個Android圖片(視頻)選擇器:android-media-picker

jopen 9年前發布 | 69K 次閱讀 Android Android開發 移動開發
一個圖片(視頻)選擇器,功能非常全,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 類。

項目主頁:http://www.baiduhome.net/lib/view/home/1437054095193

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!