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.pswp.cn/news/370061.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370061.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370061.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

老筆記整理二:網頁小問題匯總

最近有一些小問題。想在這里寫出來。一是方便大家排錯,再是自己也整理一下。 1。很傻的小問題。。。參數提交方式有一個應該是form而不是from。(英語老師,我對不起你。。。) 2。用超鏈接傳參數,在?后面不能…

在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日,“第二屆人工智能與機器人教育大會青少年人工智能與編程教育主題論壇”在廈門召開。永安市教育局被中國教育發展戰略學會人工智能與機器人教育專委會授予“人工智能編程教育試驗區”牌匾,巴溪灣小學、西門小學、三中、一中附屬學校、實驗小學等…

python中+=和=+的區別

本文原創,版權屬作者個人所有,如需轉載請聯系作者本人。Q&微:155122733 -------------------------------------------------------------------------------------------------------- a1 代表在原值上更改 aa1相當于先定義一個變量&…

Spring Data JPA和分頁

讓我們從支持分頁的經典JPA方法開始。 考慮一個簡單的域類–一個具有名字,姓氏的“成員”。 為了支持在成員列表上進行分頁,JPA方法是支持一種查找器,該查找器將獲取第一個結果(firstResult)的偏移量和要檢索的結果&am…

南陽理工 題目63 小猴子下落

小猴子下落 時間限制:3000 ms | 內存限制:65535 KB 難度:3 描述 有一顆二叉樹,最大深度為D,且所有葉子的深度都相同。所有結點從左到右從上到下的編號為1,2,3,,2的D次方減1。在結點1處放一個小猴子&#…

vue 方法獲取返回值_vue.js - vuex異步提交,怎么獲取返回數據

問 題 做登錄頁面時,在vuex中的action異步提交后獲取的數據在mutations中存儲在state里面,但是總感覺不對,沒有返回數據,我前端頁面怎么獲取數據,用mapgetter獲取不到數據,是不是他不是實時更新的,而且輸出的mapgetter輸出的數據還在action的前面。下面是我前端部分代碼…

Windows環境下安裝、卸載Apache

安裝Apache 服務 打開 Apcahe的目錄 ,打開bin目錄, 如:E:\wamp\Apache24\bin ,打開目錄,Shift鍵 鼠標右鍵 , 點擊 在此處打開命令窗口或者W快捷鍵直接到此處, 也可以Window鍵r,輸入…

css清浮動

我們在平常做項目的時候,float這個css屬性經常會用到。元素浮動會讓元素脫離文檔流,從而不能撐開父級的內容。今天我將展示常見的清除浮動的方法。 什么是浮動 浮動元素脫離文檔流并且向左或者向右移動,直到浮動元素的邊緣碰到父級框或者另…

小心緩存管理器

如果使用spring和JPA,則很有可能利用ehcache(或其他緩存提供程序)。 您可以在兩種不同的情況下進行此操作:JPA 2級緩存和spring方法緩存。 在配置應用程序時,通常會設置JPA提供程序的二級緩存提供程序(在我…

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產品,去吸引買家,鋪貨這個時候是最好的也是能最快的成長起…

ife 零基礎學院 day 2

第二天:給自己做一個在線簡歷吧 最后的驗證,提出了幾個問題,嘗試解答一下 HTML是什么,HTML5是什么 HTML的定義摘抄自w3school的HTML 簡介 HTML 是用來描述網頁的一種語言。 HTML 指的是超文本標記語言 (Hyper Text Markup Langua…

excel數據生成sql?insert語句

excel數據生成sql insert語句 excel表格中有A、B、C三列數據,希望導入到數據庫users表中,對應的字段分別是name,sex,age 。 在你的excel表格中增加一列,利用excel的公式自動生成sql語句,方法如下: 1、增加一列&#xf…

Java中的推斷異常

借用和竊取其他語言的概念和想法總是很高興的。 Scala的Option是我真正喜歡的一個主意,因此我用Java編寫了一個實現。 它包裝了一個可能為null或不為null的對象,并提供了一些可按某種功能使用的方法。 例如,isDefined方法添加了一種面向對象的…

重載,覆蓋,隱藏

轉載于:https://www.cnblogs.com/jhcelue/p/7145525.html