- 可在文件浏览器中选择指定后缀名文件
- 可通过扫描全盘的方式,选择指定后缀名的文件
- 类似微信图片选择器选择图片或视频
- 图片选择页面可以自定义主题
- 支持Activity、Fragment
FilePicker.from(this)
.chooseForBrowser()
.setMaxCount(2)
.setFileTypes("png", "doc","apk", "mp3", "gif", "txt", "mp4", "zip")
.requestCode(REQUEST_CODE_CHOOSE)
.start();
FilePicker
.from(this)
.chooseForMimeType()
.setMaxCount(10)
.setFileTypes("png", "doc","apk", "mp3", "gif", "txt", "mp4", "zip")
.requestCode(REQUEST_CODE_CHOOSE)
.start();
FilePicker
.from(this)
.chooseMedia()
.enabledCapture(true)
.setTheme(R.style.FilePicker_Dracula)
.requestCode(REQUEST_CODE_CHOOSE)
.start();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) {
return;
}
if (requestCode == REQUEST_CODE_CHOOSE) {
ArrayList<EssFile> essFileList = data.getParcelableArrayListExtra(Const.EXTRA_RESULT_SELECTION);
StringBuilder builder = new StringBuilder();
for (EssFile file :
essFileList) {
builder.append(file.getMimeType()).append(" | ").append(file.getName()).append("\n\n");
}
textView.setText(builder.toString());
}
}
| 名称 | 描述 | 默认值 |
|---|---|---|
| FileTypes | 需要显示的文件类型 | 无 |
| SortType | 排序类型 | 按名字排序 BY_NAME_ASC |
| isSingle | 是否单选 | false |
| maxCount | 最大可选中数量 | 10 |
| request_code | 请求码 | 无 |
| onlyShowImages | 是否仅显示图片(仅当其实chooseMedia时有效) | false |
| onlyShowVideos | 是否仅显示视频(仅当其实chooseMedia时有效) | false |
| enabledCapture | chooseMedia时是否显示照相机 | false |
| placeHolder | 图片的PlaceHolder | png_holder |
| themeId | 主题ID | R.Style.FilePicker_Elec |
<style name="FilePicker.Elec" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/elec_primary</item>
<item name="colorPrimaryDark">@color/elec_primary_dark</item>
<item name="toolbar">@style/Toolbar.elec</item>
<item name="album.dropdown.title.color">@color/elec_album_dropdown_title_text</item>
<item name="album.dropdown.count.color">@color/elec_album_dropdown_count_text</item>
<item name="album.element.color">@android:color/white</item>
<item name="album.thumbnail.placeholder">@color/elec_album_dropdown_thumbnail_placeholder</item>
<item name="album.emptyView">@drawable/ic_empty_elec</item>
<item name="album.emptyView.textColor">@color/elec_album_empty_view</item>
<item name="item.placeholder">@color/elec_item_placeholder</item>
<item name="item.checkCircle.backgroundColor">@color/elec_item_checkCircle_backgroundColor</item>
<item name="item.checkCircle.borderColor">@color/elec_item_checkCircle_borderColor</item>
<item name="page.bg">@color/elec_page_bg</item>
<item name="bottomToolbar.bg">@color/elec_bottom_toolbar_bg</item>
<item name="bottomToolbar.preview.textColor">@color/elec_bottom_toolbar_preview</item>
<item name="bottomToolbar.apply.textColor">@color/elec_bottom_toolbar_apply</item>
<item name="preview.bottomToolbar.back.textColor">@color/elec_preview_bottom_toolbar_back_text</item>
<item name="preview.bottomToolbar.apply.textColor">@color/elec_preview_bottom_toolbar_apply</item>
<item name="listPopupWindowStyle">@style/Popup.elec</item>
<item name="capture.textColor">@color/elec_capture</item>
</style>
- 根据文件类型打开/预览文件
- 预览图片界面
- 压缩图片
- 裁剪图片
- 自定义相机拍照
- 去掉AndPermission依赖,用原生代码申请权限
- 增加多种图片加载框架支持
- 文件浏览器支持自定义主题
- 分类选择文件界面支持自定义主题