Android系統圖片選擇工具封裝
圖片選擇經常用到,系統自帶的圖片選擇挺好的,寫起來不難,但是比較麻煩,所以自己集成了一個庫,方便使用
整合方法:
Step 1. Add the JitPack repository to your build file
//Add it in your root build.gradle at the end of repositories: allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
Step 2. Add the dependency
//Add the dependency dependencies { implementation 'com.github.tyhjh:picturePickUtil:v1.0.6' }
使用例子
PicturePickUtil.pick(MainActivity.this, new OnPickListener() { @Override public void pickPicture(File file) { iv_picture.setImageBitmap(BitmapFactory.decodeFile(file.getPath())); } });
效果圖
介面非常簡潔,開啟相機或者相簿來選擇圖片

螢幕快照 2018-10-11 下午8.50.09.png-15.3kB
具體使用
首先Android 7.0以上在應用間共享 Uri 必須使用 FileProvider ,所以必須先配置在AndroidManifest中配置provider,由於每個應用的provider的 authorities 是不可以一樣的,所以需要單獨配置
<provider android:name="android.support.v4.content.FileProvider" android:authorities="yourName" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" /> </provider>
@xml/provider_paths檔案庫裡面有寫,不用再生成,但是 authorities 的值需要用到,需要儲存
//儲存authority值 PicturePickUtil.init("yourName"); //設定圖片長寬(作為參考不會修改圖片比例)和檔案大小,進行壓縮 PicturePickUtil.setPictureSize(500, 500, 500); //設定裁剪的比例,設定為null則可手動隨意裁剪 PicturePickUtil.setPictureScale(1, 1);