推荐一款Android上的优雅文件选择库 —— Material File Picker
项目地址:https://gitcode.com/gh_mirrors/ma/MaterialFilePicker
Material File Picker是由Arte al Programar开发的一款遵循Material Design风格的文件选择库。该库以其简洁的界面和强大的功能为Android开发者提供了便捷的文件选取体验。
项目更新亮点
- 支持Android Jelly Bean 4.1.x(API 16+)及以上版本
- 兼容Android 10
- 集成了Material Components for Android,提供一致的设计语言
- 添加夜间模式支持
- 设计全新的图标样式
快速集成到你的项目
添加Material File Picker到你的Android项目中非常简单。只需在你的build.gradle
文件中引入JitPack仓库,并在应用模块的依赖项中添加库:
build.gradle (Project)
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
build.gradle (Module: app)
dependencies {
...
implementation 'com.github.arteaprogramar:Android_MaterialFilePicker:version'
}
使用方法
使用Material File Picker的关键在于设置和启动。首先,在Values
目录下配置颜色资源,然后在你的活动中调用相关方法,如:
MaterialFilePicker()
.withActivity(this)
.withCloseMenu(true)
.withPath(alarmsFolder.absolutePath)
.withRootPath(externalStorage.absolutePath)
.withHiddenFiles(true)
.withFilter(Pattern.compile(".*\\.(jpg|jpeg)$"))
.withFilterDirectories(false)
.withTitle("样本标题")
.withRequestCode(FILE_PICKER_REQUEST_CODE)
.start()
// 在onActivityResult中处理选择结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == FILE_PICKER_REQUEST_CODE && resultCode == RESULT_OK) {
String filePath = data.getStringExtra(FilePickerActivity.RESULT_FILE_PATH);
// 处理所选文件
}
}
自定义主题
为了创建符合你应用主题的亮/暗色风格,你可以自定义以下颜色:
<!-- App Colors -->
<color name="colorPrimary">?colorPrimary</color>
<color name="colorPrimaryDark">?colorPrimaryDark</color>
<color name="colorAccent">?colorAccent</color>
<color name="colorBackground">?android:colorBackground</color>
<!-- Default Colors -->
<color name="textColorPrimary">#212121</color>
<color name="colorControlHighlight">#4000695C</color>
<!-- (API 21 Status Bar Color) (API 23 Navigation Bar Color) -->
<color name="colorPrimaryDarkVariant">#8a000000</color>
此外,请确保处理运行时权限,参考示例代码此处。
项目特点
- Material Design一致性:完全遵循谷歌的Material Design指南,提供统一的用户体验。
- 广泛的设备兼容性:从Android 4.1.x开始支持,涵盖了大量仍在使用的Android版本。
- 自定义选项丰富:可以设定是否显示关闭菜单、根路径、隐藏文件过滤器等,满足多样化需求。
- 直观易用:通过简单的API即可实现文件选择,并在活动中轻松获取选择结果。
如果你正在寻找一个能够提升应用文件选择体验的库,那么Material File Picker绝对是值得尝试的选择。现在就将它加入你的项目,让文件选择变得简单而优雅!