GitHub開源項目的收藏(一)

轉(zhuǎn)載自:https://blog.csdn.net/xj032w2j4ccjhow8s8/article/details/79201928

1、transitioner

Transitioner 是一個為兩個擁有嵌入子視圖的視圖之間提供簡便、動態(tài)且可調(diào)整的動畫效果的庫。它純?100% 使用 Kotlin 編寫而成,使用 MIT 許可,且擁有良好的文檔。

該庫支持 API 19 及以上的 SDK 版本,而且在項目中也包含了用來展現(xiàn)其功能特性的示例應(yīng)用。毫無疑問,它值得一試!

2、FragmentRigger


fragment管理

該庫使用一種強大的方法來管理 Fragment。其目標(biāo)是使得 Fragment 易于使用,并將管理它們的成本最小化。

該庫擁有配套的文檔以及示例應(yīng)用。使用 MIT 開源許可協(xié)議。

3、PRDownloader


這是一個為 Android 提供的支持?jǐn)帱c續(xù)傳的文件下載器。

這是 README 中的簡短說明:

PRDownloader 可以用來下載 image、video、pdf、apk 等等任意類型的文件。

支持?jǐn)帱c續(xù)傳。

支持大文件下載。

有簡單的接口做下載請求。

我們可以用給的下載Id檢查下載的狀態(tài)。

PRDownloader 在下載文件時,提供了像 onProgress、onCancel、onStart、onError 等等的回調(diào)。

支持適當(dāng)?shù)恼埱笕∠?/p>

多個請求可以并行實現(xiàn)。

所有類型的自定義都是可能的。

該庫有很不錯的文檔和示例 App ,遵循 Apache-2.0 許可證。

4、AnimatedPieView

AnimatedPieView 是 Android 中展示餅圖和環(huán)形圖的另一種方法。


這個庫提供:

alpha 觸摸動畫

設(shè)置間隙角

動畫期間自己適配文本域的位置

對每一個段設(shè)置描述并顯示它

點擊回調(diào)

點擊特效

在餅圖和環(huán)形圖之間切換

繪制圖表時的動畫

它有很好的文檔(有英文版)。也有一個示例 App,也是遵循 Apache-2.0 許可證發(fā)行。

5、FloatWindow


這個庫可用于添加一個“懸浮窗口”,可以顯示在所有 Activity 的最前方。“懸浮窗口”可以定義為懸浮動作按鈕。如下所示:

這個庫使用 Apache 2.0 開源許可證。它有一個良好的文檔,但它是用中文寫的。不過只要翻譯成英文即可,祝玩得開心!

6、MyLittleCanvas

使用這個庫的原因是為了方便在 Android 上使用 canvas。除了方法,現(xiàn)在可以使用對象。

通過使用這個庫,你可以實現(xiàn)如上面所示的 TextView 的自定義下劃線。

README 中的示例通俗易懂,而且易于使用。這個項目的文檔相當(dāng)不錯,并且這個庫使用的是 Apache-2.0 開源許可證。

7、WindowImageView

這是一個非常有趣的庫,可以用來在 RecyclerView 中展示 ImageView,它就像一個窗口。下面的 gif 圖片可以顯示其直觀的效果。


該項目包含了一個示例應(yīng)用。文檔對于入手來說足夠豐富,而它是以 MIT 許可發(fā)行的。

8、ChartView


ChartView 是一個主要用來解決如何使用 Canvas 和 ValueAnimator 來繪制自定義圖表此類問題的項目。

9、hyperlog-android


這是一個公用工具日志庫,位于標(biāo)準(zhǔn)的 Android 日志類之上,用于存儲數(shù)據(jù)庫中的日志,并將它們推入遠程服務(wù)器進行調(diào)試。

這個項目的文檔真的很全面。還有一篇關(guān)于它的博客文章和一個示例應(yīng)用程序。這個庫是基于 MIT 許可證發(fā)布的,目前的版本是 0.0.7。

10、Fairy



Fairy 是一個簡單的調(diào)試工具,允許開發(fā)者使用?adb?logcat?命令在 Android 手機上查看 Android 系統(tǒng)日志,而不是在電腦上。

它還允許在任何地方使用 Android 手機掃描系統(tǒng)日志信息,甚至不需要 root。

這個庫有相當(dāng)好的文檔,它基于 Apache-2.0 發(fā)布,支持 Android API 21 及以上。

11、ExpansionPanel


這是另外一個來自于?Florent Champigny?的很棒的庫。它給我提供了?Expansion Panels(其中包含了創(chuàng)建流程,且讓我們可以輕量化的編輯一個元素)的一種實現(xiàn)。

文檔很全面,而且項目本身也包含了示例應(yīng)用。所有的代碼都采用了?Apache-2.0 許可。示例應(yīng)用在Google Play上也可以獲取到。

12、kotlin-math

這是

使得圖形數(shù)學(xué)算法寫起來更輕松的 Kotlin API 的集合。這些 API 大多都是在?GLSL (OpenGL Shading Language) 之后建模的,以便使從著色器或者向著色器移植代碼更輕松。

由該庫提供的變量類型只是值類型,因此大多數(shù) API 是以頂級函數(shù)的形式暴露出來,而非方法。

該項目是以 Apache-2.0 開源許可證發(fā)行的。

13、TicketView

這是一個提供卡片視圖(Ticket View)的庫,它提供了 3 種類型的 TicketView 邊角:常規(guī)的、圓形的以及扇貝形的。


項目是以 Apache-2.0 許可發(fā)行的,而示例應(yīng)用可以在 Github 資源庫或者在?Google Play?上獲取到。文檔還可以,且?guī)熘С?API 15 及以上版本。

14、Cipher.so

該庫提供了一種將敏感數(shù)據(jù)加密到原生 .so 庫的簡單方法。


這個庫是如何工作的呢? 在編譯時所有的鍵值對會被自動打包到一個原生庫里面去。接著他可以從由?Cipher.so 生成的 Java 接口獲取這些鍵值對數(shù)據(jù)。

文檔足夠好,項目是以 Apache-2.0 發(fā)行的。

15、android-clean-architecture-mvi-boilerplate

這是使用?Model-View-Intent 模式的一個?Buffer?的分支,是干凈的應(yīng)用架構(gòu)樣板。


在展現(xiàn)層它現(xiàn)在使用的是來自?Android Architecture Components Library 的?ViewModel。緩存層現(xiàn)在也使用了?Room。

16、Android-Indefinite-Pager-Indicator

這個庫是提供給?RecyclerView 與 ViewPager 的輕量級即插即用型的無限翻頁指示器。


該庫擁有相當(dāng)好的文檔,示例應(yīng)用,還有許多的定制,并且是以 MIT 許可發(fā)行的,支持的最低?SDK 版本是?16。

17、daggraph

如果你使用 Dagger 的話, 你可能會發(fā)現(xiàn)自己的依賴在一張圖上看起來挺有趣的。 Daggerph 就是為你提供此項功能的一個工具。


它的文檔相當(dāng)?shù)睾喍?,但是足夠你入手這個項目了,它是以 Apache-2.0 許可發(fā)行的。

18、ToastCompat

這是一個用來勾住 Toast 的 BadTokenException 并進行修復(fù)的 Android 庫。?

這個庫的目的就是為應(yīng)對從?API 25 開始,一個新的參數(shù)被添加到了供?Toast#handleShow() 使用的?IBinder 的 windowToken 方法,而它會導(dǎo)致 BadTokenException 異常。該庫就是用來嘗試去解決這個問題的。

你可以在 Github 上找到更多信息。該項目是以?Apache-2.0 許可發(fā)行的。

19、RecyclerBanner

這并非一個庫,而是一個示例應(yīng)用,向你展示了如何使用 RecyclerView 創(chuàng)建輪播視圖。


不幸的是,該項目并沒有英語文檔,不過你可以參考這篇文章(教程)然后翻譯它。

20、FancyToast-Android

這個庫使用了原生的?Android Toasts Fancy。它將標(biāo)準(zhǔn)的 Android Toast 帶到了一個新的級別,使其擁有大量的樣式選項。它也提供了使用代碼來控制?Toast 樣式的能力。


該庫擁有良好的文檔,而且也包含了一個示例應(yīng)用。支持的最低?SDK 版本是 19,而整個項目是以 Apache-2.0 許可發(fā)行的。

21、RecyclerViewCardGallery

這個類庫 fork 自?RecyclerViewCardGallery。與使用 ViewPager 不同的是,作者使用了 RecyclerView,通過滑動來達到刷新的效果。


這項目有基本的文檔、app 樣例,并且它是在 Apache-2.0 許可下發(fā)布的。

22、ig-lazy-module-loader

這個類庫有助于在 Android 程序中在每當(dāng)需要時按需加載模塊(功能)。在使用這個類庫前,需要編譯為一個單獨的 jar/dex 或者 apk 文件,才能作為模塊使用。

現(xiàn)在這個類庫有 Java 的和 Andriod 的,Android 的不需要依賴于 Android 資源。

這個類庫的作者也提到了延遲加載特性 VS 在主可執(zhí)行文件中具有(延遲加載)特性的好處:

只有在真正需要時把功能加載到內(nèi)存中。它可在主執(zhí)行文件中卸載代碼(offloads code),該文件仍然較小,以保證有更好的冷啟動時間。在 Dalvik 上,它卸載了主要的 dex 文件,降低了多 dex 的性能損失。

因為它在一個文件中,所以功能代碼在內(nèi)存中集中在起來,它在內(nèi)存訪問方面提供了最優(yōu)的方案。

如果某些功能未使用則只占用較少的磁盤空間,因為代碼不是未壓縮的。

通過在功能之間提供非常嚴(yán)格的隔離,可以提高開發(fā)人員的速度,其中許多開發(fā)人員都同時在相同的代碼庫上工作的。

模塊的熱插拔(hotswapping)可能可實現(xiàn)允許更快地開發(fā)而不用重啟 app。

23、retrofit2-kotlin-coroutines-adapter

這是用于?Kotlin 協(xié)程的 Deferred?的實驗性 Retrofit 2 CallAdapter.Factor。在 Apache 2.0 許可下發(fā)布。

24、CalendarPicker

這個庫是另一個日歷和日期選擇器。它可以預(yù)設(shè)一個選定的日期,并可以深度定制 - 你可以自定義幾乎所有的文字大小和顏色、背景顏色和月份標(biāo)題。


該庫使用 MIT 許可發(fā)行,并有基本的文檔。

25、avdo

這是一個優(yōu)化 Android VectorDrawable(VD) 和 AnimatedVectorDrawable(AVD) xml 文件的命令行工具(類似于?svgo)。

它由?Alex Lockwood?創(chuàng)建并在 MIT 許可下發(fā)布。

它確切的功能如下:

avdo 使用最少數(shù)量的 和 來重寫 VectorDrawable,從而減少文件大小,并使其能在運行時更快地解析和繪制。下面的例子顯示了在運行 avdo 之前和之后的 VectorDrawable 的內(nèi)容

就這些了。希望你能喜歡這份清單。如果你知道在過去三個月內(nèi)發(fā)布的其他優(yōu)秀的庫,并且我沒有提到的話,請在評論中告訴我。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容