一個封裝好的安卓圖片選擇庫

版權聲明:轉載必須註明本文轉自嚴振杰的博客: http://blog.csdn.NET/yanzhenjie1003


仍然轉載自嚴大大的博客,這是一個已經封裝好的圖片選擇庫,as下面直接compile就可以使用了。覺得比較方便,界面也比較美觀,不喜歡系統自帶的圖片選擇庫的可以考慮使用這個庫,下面介紹的比較詳細了,相信大家都能看明白的。


我們要把人生變成一個科學的夢,然後再把夢變成現實。

——— 居里夫人




本項目開源地址:https://github.com/yanzhenjie/album

  1. Album是一個Android開源相冊,支持單/多選、縮放、預覽、按文件夾查看圖片,後期會考慮加入圖片剪切等操作。

  2. 開發者不需要擔心Android6.0的運行時權限,Album已經非常完善的處理過了。

  3. 支持自定義樣式風格,比如Toolbar顏色、狀態欄顏色等。

  4. 內置支持了相機,開發者不用擔心相機的使用問題,Album自動搞定。

  5. 支持ActivityFragment調用。

Demo效果預覽

選擇圖片 切換文件夾 
預覽

如果你想體驗一把,你可以下載demo的apk來玩玩。

使用方法

Gradle:

compile 'com.yanzhenjie:album:1.0.0'11

Or Maven:

<dependency>
  <groupId>com.yanzhenjie</groupId>
  <artifactId>album</artifactId>
  <version>1.0.0</version>
  <type>pom</type></dependency>123456123456

Eclipse請下載源碼自行轉換成Library project。

mainifest.xml中需要註冊

<activity    android:name="com.yanzhenjie.album.AlbumActivity"
    android:label="圖庫"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"
    android:windowSoftInputMode="stateAlwaysHidden|stateHidden" />123456123456

其中Android:label="xx"中的xx是調起的Activity的標題,你可以自定義,其它請照抄即可。

需要的權限

<uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />123123

開發者不需要擔心Android6.0的運行時權限,Album已經非常完善的處理過了。

如何調用

調起Album的界面:

// 1. 使用默認風格,並指定選擇數量:// 第一個參數Activity/Fragment; 第二個request_code; 第三個允許選擇照片的數量,不填可以無限選擇。// Album.startAlbum(this, ACTIVITY_REQUEST_SELECT_PHOTO, 9);// 2. 使用默認風格,不指定選擇數量:// Album.startAlbum(this, ACTIVITY_REQUEST_SELECT_PHOTO); // 第三個參數不填的話,可以選擇無數個。// 3. 指定風格,並指定選擇數量,如果不想限制數量傳入Integer.MAX_VALUE;Album.startAlbum(this, ACTIVITY_REQUEST_SELECT_PHOTO
    , 9                                                         // 指定選擇數量。
    , ContextCompat.getColor(this, R.color.colorPrimary)        // 指定Toolbar的顏色。
    , ContextCompat.getColor(this, R.color.colorPrimaryDark));  // 指定狀態欄的顏色。123456789101112123456789101112

接受結果,重寫Activity/FragmentonActivityResult()方法:

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    if (requestCode == 100) {        if (resultCode == RESULT_OK) { // 判斷是否成功。
            // 拿到用戶選擇的圖片路徑List:
            List<String> pathList = Album.parseResult(data);
        } else if (resultCode == RESULT_CANCELED) { // 用戶取消選擇。
            // 根據需要提示用戶取消了選擇。
        }
    }
}12345678910111234567891011

注意點

由於支持了MaterialDesign,項目中已經引用了Google官方的的support庫:

compile 'com.android.support:appcompat-v7:24.2.1'compile 'com.android.support:recyclerview-v7:24.2.1'compile 'com.android.support:design:24.2.1'123123

混淆

都是可以混淆的,如果混淆遇到問題了,請添加如下規則。

-dontwarn com.yanzhenjie.album.**
-keep class com.yanzhenjie.album.**{*;}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章