Skip to content

4. 示例及解释

rosuH edited this page Aug 4, 2019 · 3 revisions

在更新的示例模块sample中,包含了 9+ 个示例。应该已经覆盖了大部分的应用场景?如果没有,请issues或者你直接 PR 一下不是更美滋滋吗?(:з」∠)

(In the updated sample module sample, 9+ examples are included. Should have covered most of the application scenarios? If not, please create an issues or a PR (:з"∠)

v0.5.0 以后添加自定义根目录支持 ( Adding custom root path, after v0.5.0)

// 自定义根目录(set custom root path)
customRootPathBtn.setOnClickListener {
    FilePickerManager.from(this@SampleActivity)
        .storageType("Download", FilePickerConfig.STORAGE_CUSTOM_ROOT_PATH)
        // 不指定名称则为导航栏将显示绝对路径(If you do not specify a name, the navigation bar will display an absolute path.)
        // .storageType(FilePickerConfig.STORAGE_CUSTOM_ROOT_PATH)
        .setCustomRootPath("/storage/emulated/0/Download")
        .setTheme(R.style.FilePickerThemeReply)
        .forResult(FilePickerManager.REQUEST_CODE)
}
// Default configuration 默认状态
defaultBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .forResult(FilePickerManager.REQUEST_CODE)
}
// Single Chose 单选
singleBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .setTheme(R.style.FilePickerThemeRail)
        .maxSelectable(1)
        .forResult(FilePickerManager.REQUEST_CODE)
}
// Only display directories 只展示文件夹
onlyDirBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .setTheme(R.style.FilePickerThemeShrine)
        .filter(object : AbstractFileFilter() {
            override fun doFilter(listData: ArrayList<FileItemBeanImpl>): ArrayList<FileItemBeanImpl> {
                return ArrayList(listData.filter { item ->
                    item.isDir
                })
            }
        })
        .forResult(FilePickerManager.REQUEST_CODE)
}
// Only display images 只展示图片
onlyImgBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .filter(object : AbstractFileFilter() {
            override fun doFilter(listData: ArrayList<FileItemBeanImpl>): ArrayList<FileItemBeanImpl> {
                return ArrayList(listData.filter { item ->
                    ((item.isDir) || (item.fileType is RasterImageFileType))
                })
            }
        })
        .forResult(FilePickerManager.REQUEST_CODE)
}

// Display hidden files(Which begin with `.` )显示隐藏文件,. 符号开头的
displayHiddenBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .showHiddenFiles(true)
        .forResult(FilePickerManager.REQUEST_CODE)
}
// Single choice file 单选文件
singleFileBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .maxSelectable(1)
        .showCheckBox(false)
        .forResult(FilePickerManager.REQUEST_CODE)
}
// Single choice folder 单选文件夹
singleDirBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .maxSelectable(1)
        .filter(object : AbstractFileFilter() {
            override fun doFilter(listData: ArrayList<FileItemBeanImpl>): ArrayList<FileItemBeanImpl> {
                return ArrayList(listData.filter { item ->
                    item.isDir
                })
            }
        })
        .skipDirWhenSelect(false)
        .setTheme(R.style.FilePickerThemeReply)
        .forResult(FilePickerManager.REQUEST_CODE)
}
// Multiple files 多选文件
multiFilesBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .setTheme(R.style.FilePickerThemeCrane)
        .forResult(FilePickerManager.REQUEST_CODE)
}
// Multiple folders 多选文件夹
multiDirsBtn.setOnClickListener {
    FilePickerManager
        .from(this@SampleActivity)
        .filter(object : AbstractFileFilter() {
            override fun doFilter(listData: ArrayList<FileItemBeanImpl>): ArrayList<FileItemBeanImpl> {
                return ArrayList(listData.filter { item ->
                    item.isDir
                })
            }
        })
        .skipDirWhenSelect(false)
        .setTheme(R.style.FilePickerThemeShrine)
        .forResult(FilePickerManager.REQUEST_CODE)
}

啊!还是请大家clone然后跑一下呗?如果有问题再疯狂提issues吧~

Clone this wiki locally