android 多文件选择,Android文件选择利器,各种样式有它就够了

原标题:Android文件选择利器,各种样式有它就够了

在 Android 开发中如果需要选择某个文件,可以直接调取系统的文件管理器进行选择,但是无法保证各个厂商的手机界面一致,而且解析Uri 还比较繁琐,如果还需要多选呢?需要文件类型过滤呢?老板说界面丑呢?

那么福利来了,你可以使用LFilePicker,它都支持什么呢?

还算漂亮的界面

各种手机一致的体验

多种界面风格

自定义标题文字和颜色

文件多选或者单选

文件类型过滤

Fragment启动

国际化(中英文切换)

在哪里能找到它呢?Bio Bio Bio

传送门:https://github.com/leonHua/LFilePicker

心急的人可以直接根据说明文档进行使用了,任性的人跟着我继续走~~~

先看看界面,万一丑的不行呢?

4c7191fb29d9f8f76a1364d4d0474b46.png

好了还算可以把,和经典的Windows风格类似,先用用看吧。怎么用呢?

基础用法 1.添加依赖 compile 'com.leon:lfilepickerlibrary:1.7.0'

【P.S.】 话说为了能够方便的依赖使用可是操碎了心,将项目库开源到JCenter使用的过程中趟了很多坑,如果感兴趣,可以查看文章:新版Bintray下将Android Library 开源到JCenter 的正确姿势

另外,如果网络环境有问题无法正常使用compile指令(像我这样),良心提供 aar 文件下载使用。

下载链接:lfilepickerlibrary

【P.S.】 如果不知道 aar 如何使用,请参考文章:Android中 aar 文件的日常使用

2.添加文件读写权限 3.打开选择界面

你可以在Activity中打开:

newLFilePicker()

.withActivity(MainActivity. this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.start();

也可以在Fragment中打开(同时支持v4包SupportFragment):

newLFilePicker().withSupportFragment(mFragment)

.withRequestCode(Consant.REQUESTCODE_FROM_FRAGMENT)

.withTitle( "Open From Fragment")

.start(); 4.接收选择返回值

重写方法并获取数据:

@OverrideprotectedvoidonActivityResult(intrequestCode, intresultCode, Intent data){

super.onActivityResult(requestCode, resultCode, data);

if(resultCode == RESULT_OK) {

if(requestCode == Consant.REQUESTCODE_FROM_ACTIVITY) {

List list = data.getStringArrayListExtra(Constant.RESULT_INFO);

Toast.makeText(getApplicationContext(), "选中了"+ list.size() + "个文件", Toast.LENGTH_SHORT).show(); } }}

已经以上你已经能够正常使用了,但是说好的那么多特性呢?接下来,深入一点

自由使用 文件夹和文件图标太low?换!newLFilePicker()

.withActivity( this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withIconStyle(Constant.ICON_STYLE_YELLOW)

.start();

withIconStyle(mIconType)提供三种风格:

Constant.ICON_STYLE_YELLOW 经典黄(默认风格)

Constant.ICON_STYLE_GREEN 清新绿

Constant.ICON_STYLE_BLUE 柔和蓝

480e90b557866f633beac522cc776c93.png

22f9b624b7102c188a290a6005f92a25.png

选择界面标题不合适?换! newLFilePicker()

.withActivity( this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withTitle( "我的标题") //标题文字

.withTitleColor( "#FF99CC") //文字颜色

.start();

f908093696f1faeaf4bd6727701f57e2.png

想要限制单选或者多选?换! newLFilePicker()

.withActivity( this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withMutilyMode( true)

.start();

withMutilyMode(true):true代表多选;false代表单选

271341eae0f2458f1734a02197aea52e.gif

805395f069838c936617346256c61af9.gif

想要限制选择文件类型?过滤! newLFilePicker()

.withActivity( this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withFileFilter( newString[]{ ".txt", ".png"})

.start();

1b7d292c84a0b22dda5cbfe15d8fee06.png

ea26fc1327aa35832271d33c13965ea3.png

英文怎么搞?已经内置实现!

将手机语言调整为英文后:

d8abeb07faf5a452b48037d193dcf9e9.gif

返回图标不喜欢?换! newLFilePicker()

.withActivity( this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withBackIcon(Constant.BACKICON_STYLEONE)

.start();

withBackIcon() 提供三种风格:

Constant.BACKICON_STYLEONE

Constant.BACKICON_STYLETWO

Constant.BACKICON_STYLETHREE

84daa597a1382c3a1164b62425e37e37.png

c7ec80ad1b18558f8ba7bcf493851e73.png

79c56e106864faea6beb1da446afaaf9.png

标题背景颜色不喜欢?换! newLFilePicker()

.withActivity( this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withBackgroundColor( "#FF9966")

.start();

ddde401920d7603cbf840dfc1f7c3599.png

切换选择路径?已经包含,随便选!

26b2bdf531bfe38d60c09995807d40c9.png

结束

基本上能够满足日常选择文件的需求了,开源不易,如果对你有用,欢迎Star给我一个小小的鼓励!返回搜狐,查看更多

来源:说啥都不听

http://www.apkbus.com/blog-897740-63476.html

程序员大咖整理发布,转载请联系作者获得授权

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值