###介紹
---
1.可指定選擇文件夾還是文件笙什,選擇顯示文件也可指定后綴名顯示獲取連接
2.可通過掃描全盤的方式飘哨,選擇指定后綴名的文件
3.支持多選。
4.支持Activity琐凭、Fragment
### Example
---
---
###可下載APK直接體驗
---
###用法
allprojects {repositories {...maven { url 'https://www.jitpack.io' }}}
implementation 'com.github.ZLYang110:FileSelector:1.0'
#####一芽隆、 在文件瀏覽器中選擇指定文件
#####一、 在文件瀏覽器中選擇指定文件
```
/**
*設(shè)置 onlyShowFolder()只顯示文件夾 后 再設(shè)置setFileTypes()不生效
? ? *設(shè)置 onlyShowFolder()只顯示文件夾 后 默認設(shè)置了onlySelectFolder()
? ? *設(shè)置 onlySelectFolder()只能選擇文件夾 后 默認設(shè)置了isSingle()
? ? *設(shè)置 isSingle()只能選擇一個 后 再設(shè)置了setMaxCount() 不生效
? ? *
*/
FileSelector.from(this)
// .onlyShowFolder()? //只顯示文件夾
? ? ? ? ? ? ? ? //.onlySelectFolder()? //只能選擇文件夾
? ? ? ? ? ? ? // .isSingle() //只能選擇一個
? ? ? ? ? ? ? ? .setMaxCount(5) //設(shè)置最大選擇數(shù)
? ? ? ? ? ? ? ? .setFileTypes("png", "doc","apk", "mp3", "gif", "txt", "mp4", "zip") //設(shè)置文件類型
? ? ? ? ? ? ? ? .setSortType(FileSelector.BY_NAME_ASC) //設(shè)置名字排序
? ? ? ? ? ? ? ? //.setSortType(FileSelector.BY_TIME_ASC) //設(shè)置時間排序
? ? ? ? ? ? ? ? //.setSortType(FileSelector.BY_SIZE_DESC) //設(shè)置大小排序
? ? ? ? ? ? ? ? //.setSortType(FileSelector.BY_EXTENSION_DESC) //設(shè)置類型排序
? ? ? ? ? ? ? ? .requestCode(1) //設(shè)置返回碼
? ? ? ? ? ? ? ? .start();
```
#####二、 設(shè)置只選擇文件夾(文件夾默認只能選擇一個)
```
FileSelector.from(this)
.onlySelectFolder()? //只能選擇文件夾
? ? ? ? ? ? ? ? .requestCode(1) //設(shè)置返回碼
? ? ? ? ? ? ? ? .start();
```
#####三胚吁、 設(shè)置只顯示文件夾(只顯示文件夾就只能選擇文件夾)
```
FileSelector.from(this)
.onlyShowFolder()? //只能選擇文件夾
? ? ? ? ? ? ? ? .requestCode(1) //設(shè)置返回碼
? ? ? ? ? ? ? ? .start();
```
#####三牙躺、 只顯示圖片的文件
```
FileSelector.from(this)
.setMaxCount(5) //設(shè)置最大選擇數(shù)
? ? ? ? ? ? ? ? .setFileTypes( "png","jpg") //設(shè)置文件類型
? ? ? ? ? ? ? ? .requestCode(1) //設(shè)置返回碼
? ? ? ? ? ? ? ? .start();
```
#####四、 接收返回的文件數(shù)據(jù)腕扶,在 ++onActivityResult++方法中獲取孽拷。選中文件以鏈表方式返回, ++EssFile++類為載體
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == 1) {
ArrayList essFileList = data.getStringArrayListExtra(Const.EXTRA_RESULT_SELECTION);
StringBuilder builder = new StringBuilder();
for (String file :
essFileList) {
builder.append(file).append("\n");
}
tv_backResult.setText(builder.toString());
}
}
}
```
###屬性列表
---
名稱 |描述 |默認值
---|---|---
FileTypes |需要顯示的文件類型 |無
SortType |排序類型 |按名字排序 BY_NAME_ASC
isSingle |是否單選 |false
maxCount |最大可選中數(shù)量 | 10
request_code |請求碼 |無
onlyShowFolder |是否僅只顯示文件夾? | false
onlySelectFolder |是否只選擇文件夾? | false