使用方法:在里层的build.grade的dependency里面加入:
implementation 'com.leon:lfilepickerlibrary:1.8.0'
引用https://github.com/leonHua/LFilePicker/blob/master/README_CH.md#lfilepicker
说明:如果发现应用名称被修改,可以参考issues#26 查看解决方案,或者可以自己下载代码依赖改动,目前木有精力改动,如果你改了欢迎提pull,如果不能接受此缺陷,请慎用~
这是一个轻量级的文件选择器,可以检索手机目录选择文件。同时包含:
V1.8.0
V1.7.0
V1.6.0
V1.5.0
V1.4.0
动态操作(如果图片无法正常显示,可以查看screenshot文件夹中gif文件)
页面效果:
1. 添加引用
compile 'com.leon:lfilepickerlibrary:1.8.0'
2. 添加文件读写权限
3. 开启Activity
int REQUESTCODE_FROM_ACTIVITY = 1000;
new LFilePicker()
.withActivity(MainActivity.this)
.withRequestCode(REQUESTCODE_FROM_ACTIVITY)
.withStartPath("/storage/emulated/0/Download")//指定初始显示路径
.withIsGreater(false)//过滤文件大小 小于指定大小的文件
.withFileSize(500 * 1024)//指定文件大小为500K
.start();
4. 接收返回结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == REQUESTCODE_FROM_ACTIVITY) {
//如果是文件选择模式,需要获取选择的所有文件的路径集合
//List list = data.getStringArrayListExtra(Constant.RESULT_INFO);//Constant.RESULT_INFO == "paths"
List list = data.getStringArrayListExtra("paths");
Toast.makeText(getApplicationContext(), "选中了" + list.size() + "个文件", Toast.LENGTH_SHORT).show();
//如果是文件夹选择模式,需要获取选择的文件夹路径
String path = data.getStringExtra("path");
Toast.makeText(getApplicationContext(), "选中的路径为" + path, Toast.LENGTH_SHORT).show();
}
}
}
方法说明
方法 | 说明 |
---|---|
withActivity(Activity activity) | 绑定Activity |
withFragment(Fragment fragment) | 绑定Fragment |
withSupportFragment(Fragment supportFragment) | 绑定V4包Fragment |
withRequestCode(int requestCode) | 设置请求码 |
withTitle(String title) | 设置标题文字 |
withTitleColor(String color) | 设置标题文字颜色 |
withBackgroundColor(String color) | 设置标题背景颜色 |
withIconStyle(int style) | 设置列表图标样式 |
withBackIcon(int backStyle) | 设置返回图标样式 |
withFileFilter(String[] arrs) | 设置文件类型过滤器 |
withMutilyMode(boolean isMutily) | 设置多选或单选模式 |
withAddText(String text) | 设置多选模式选中文字 |
withNotFoundBooks(String text) | 设置没有选中文件时的提示信息 |
withMaxNum(int num) | 设置最大可选文件数量 |
withChooseMode(boolean chooseMode) | 设置文件夹选择模式,true(默认)为选择文件,false为选择文件夹 |
withStartPath(String path) | 设置初始显示路径 |
withIsGreater(boolean isGreater) | 设置过滤方式,true(默认)为大于指定大小,false小于指定大小 |
withFileSize(long size) | 设置指定过滤文件大小,如果是500K则输入500*1024 |
提供样式
withIconStyle(int style) 取值模式:
withBackIcon(int backStyle) 取值模式:
withFileFilter(String[] arrs) 取值模式:
withFileFilter(new String[]{".txt", ".png", ".docx"})
如果本库对你有用,欢迎star或者fork! 欢迎访问 博客 查看更多文章。
Copyright (C) 2017 leonHua
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.