android pick file,LFilePicker---文件选择利器,各种样式有它就够了

eeb211e190be

LFilePicker

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

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

还算漂亮的界面

各种手机一致的体验

多种界面风格

自定义标题文字和颜色

文件多选或者单选

文件类型过滤

Fragment启动

国际化(中英文切换)

文件数量限制

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

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

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

1

默认界面

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

基础用法

1.添加依赖

compile 'com.leon:lfilepickerlibrary:1.3.0'

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

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

下载链接:lfilepickerlibrary

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

2.添加文件读写权限

3.打开选择界面

你可以在Activity中打开:

new LFilePicker()

.withActivity(MainActivity.this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.start();

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

new LFilePicker().withSupportFragment(mFragment)

.withRequestCode(Consant.REQUESTCODE_FROM_FRAGMENT)

.withTitle("Open From Fragment")

.start();

4.接收选择返回值

重写方法并获取数据:

@Override

protected void onActivityResult(int requestCode, int resultCode, 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?换!

new LFilePicker()

.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 柔和蓝

1

清新绿风格

1

柔和蓝风格

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

new LFilePicker()

.withActivity(this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

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

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

.start();

1

标题和文字颜色效果

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

new LFilePicker()

.withActivity(this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withMutilyMode(true)

.start();

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

1

多选效果

1

单选效果

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

new LFilePicker()

.withActivity(this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

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

.start();

1

默认不过滤效果

1

过滤后效果

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

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

1

英语环境操作

返回图标不喜欢?换!

new LFilePicker()

.withActivity(this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withBackIcon(Constant.BACKICON_STYLEONE)

.start();

withBackIcon() 提供三种风格:

Constant.BACKICON_STYLEONE

Constant.BACKICON_STYLETWO

Constant.BACKICON_STYLETHREE

1

风格1

1

风格2

1

风格3

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

new LFilePicker()

.withActivity(this)

.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)

.withBackgroundColor("#FF9966")

.start();

1

背景颜色效果图

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

1

路径选择效果

结束

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

更多文章欢迎访问:我的博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在JVM之下–类加载器

在许多开发人员中,类加载器是Java语言的底层,并且经常被忽略。 在ZeroTurnaround上 ,我们的开发人员必须生活,呼吸,饮食,喝酒,并且几乎与类加载器保持亲密关系,才能生产JRebel技术&a…

matplotlib绘制饼状图

源自http://blog.csdn.net/skyli114/article/details/77508430?ticketST-41707-PzNbUDGt6R5KYl3TkWDg-passport.csdn.net pyplot使用plt.pie()来绘制饼图 1 import matplotlib.pyplot as plt 2 labels frogs, hogs, dogs, logs 3 sizes 15, 20, 45, 10 # [15,20,45,10…

自适应宽度元素单行文本省略用法探究

单行文本省略是现代网页设计中非常常用的技术,几乎每个站点都会用到。单行文本省略适用于显示摘要信息的场景,如列表标题、文章摘要等。在响应式开发中,自适应宽度元素单行文本省略容易失效不起作用,对网页开发这造成困扰。因此&a…

P3390 【模板】矩阵快速幂

题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n1行,每行n个数,第i1行第j个数表示矩阵第i行第j列的元素 输出格式: 输出A^k 共n行,每行n个数&…

c#精彩编程200例百度云_永安市教育局被授予“人工智能编程教育试验区”

11月28日,“第二届人工智能与机器人教育大会青少年人工智能与编程教育主题论坛”在厦门召开。永安市教育局被中国教育发展战略学会人工智能与机器人教育专委会授予“人工智能编程教育试验区”牌匾,巴溪湾小学、西门小学、三中、一中附属学校、实验小学等…

Spring Data JPA和分页

让我们从支持分页的经典JPA方法开始。 考虑一个简单的域类–一个具有名字,姓氏的“成员”。 为了支持在成员列表上进行分页,JPA方法是支持一种查找器,该查找器将获取第一个结果(firstResult)的偏移量和要检索的结果&am…

Windows环境下安装、卸载Apache

安装Apache 服务 打开 Apcahe的目录 ,打开bin目录, 如:E:\wamp\Apache24\bin ,打开目录,Shift键 鼠标右键 , 点击 在此处打开命令窗口或者W快捷键直接到此处, 也可以Window键r,输入…

css清浮动

我们在平常做项目的时候,float这个css属性经常会用到。元素浮动会让元素脱离文档流,从而不能撑开父级的内容。今天我将展示常见的清除浮动的方法。 什么是浮动 浮动元素脱离文档流并且向左或者向右移动,直到浮动元素的边缘碰到父级框或者另…

DirectX11 学习笔记7 - 支持自由移动的摄像机

如今将又一次制定一个camera摄像机。能够自由移动。比方前进 后退,上游 下潜。 各个方向渲染之类的。 首先设置按键。 这个时候须要在 XWindow.h 里面 bool XWindow::frame() {//推断是否按下ESC键if(x_input->isKeyDown(VK_ESCAPE))return false;//假设A,S,D,W,…

腾讯吃鸡 android,腾讯吃鸡手游《光荣使命》正式上线:安卓/iOS不限号测试

IT之家11月29日消息 今天下午,腾讯首款百人战术竞技手游《光荣使命》在安卓、iOS双平台正式上线,开启全面测试。(官网下载:点此链接,双平台已开放下载。)该游戏采用第三人称射击视角,玩家化身参与“使命行动”军事演习…

lazada铺货模式的选品_lazada小白的运营难点→铺货与精细化运营的优劣势详解

lazada是铺货还是精细化经营第一种铺货铺货作为平台早期都是比较受欢迎的,平台的蛮荒期,成长期当中,铺货的商家是非常受欢迎的,因为平台需要更多SKU产品,去吸引买家,铺货这个时候是最好的也是能最快的成长起…

excel数据生成sql insert语句

excel数据生成sql insert语句 excel表格中有A、B、C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age 。 在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下: 1、增加一列&#xf…

重载,覆盖,隐藏

转载于:https://www.cnblogs.com/jhcelue/p/7145525.html

荣耀鸿蒙系统开机动画,荣耀赵明:鸿蒙系统首发设备欲屏蔽开机广告

来源:硅谷分析狮余承东表示8月9日会发布鸿蒙系统,而从他透露的一些细节看,鸿蒙系统将首先运用在智慧屏终端上,其配合大屏幕和自研芯片(麒麟AI芯片,鸿鹄智慧显示芯片,凌霄WIFI芯片),将实现生态上…

Hamcrest包含匹配器

与Hamcrest 1.2相比 ,针对Matchers类的Hamcrest 1.3 Javadoc文档为该类的几种方法添加了更多文档。 例如,四个重载的contains方法具有更具描述性的Javadoc文档,如下面所示的两个比较屏幕快照所示。 尽管仅通过尝试就可以弄清楚“包含”匹配器…

函数 (四) 迭代器和生成器

一 迭代器 一 迭代的概念 #迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不是迭代print(>) l[1,2,3]…

进阶-JMS 知识梳理

JMS 一、 概述与介绍 ActiveMQ 是Apache出品,最流行的、功能强大的即时通讯和集成模式的开源服务器。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。提供客户端支持跨语言和协议,带有易于在充分支持JMS 1.1和1.4使用J2EE企业集成模式…

android蓝牙pair,Android向更多蓝牙设备开放Fast Pair功能 配对更轻松了

原标题:Android向更多蓝牙设备开放Fast Pair功能 配对更轻松了 来源:cnBeta.COM蓝牙是一项应用非常广泛的无线技术,在无线音频配件、智能手表和智能家电中都广泛使用。不过蓝牙设备的配对体验并不优秀,而且无法实现跨平台的一致性…

python绘制帕累托图

python绘制帕累托图代码 1 import pandas as pd2 import matplotlib.pyplot as plt3 plt.rcParams[font.sans-serif][SimHei]#表示可以显示中文4 plt.rcParams[axes.unicode_minus]False#表示可以正常显示正负号5 datapd.read_csv(catering_dish_profit.csv,index_coltype)6 pr…

html5 测评游戏,暗黑之王评测:HTML5游戏铸就最华丽ARPG冒险

由白鹭时代(Egret Technology)与比悦科技联手推出的重度大型HTML5游戏《暗黑之王》,一款典型的ARPG手游,其HTML5版本推出以来,获得了来自业界、玩家和媒体的大量关注。其丰富的游戏内容和玩法,加上卓越的游戏性能表现,…