趕在2018年前推薦30個最火爆開源庫

歡迎Follow個人GitHub, 關注個人CSDN. 其他參考Android目錄.關注公衆號:楊守樂,有趣有內涵的文章第一時間送達!android

轉載請註明出入謝謝! blog.csdn.net/xiaole0313/…git

這些是自2017年3月以來我最喜歡的30個新的Android庫。他們中的一些尚未作好生產準備,可是使用它們可能會有不少樂趣。我但願你喜歡這些。github

這裏沒有特別的順序:編程

1. Matisse瀏覽器

這是一個美麗的本地圖像和視頻選擇器。主要功能:架構

  • 選擇包括JPEG,PNG,GIF和包括MPEG,MP4;
  • 應用自定義主題,包括兩個內置的主題,
  • 不一樣的圖像加載器,
  • 定義自定義過濾規則,
  • 在Activity和Fragment內徹底操做。

Libraries:github.com/zhihu/Matis…app

Matisse

2. Spruce Android Animation Library框架

Spruce是一個輕量級的動畫庫,幫助編排屏幕上的動畫。有了這些不一樣的動畫庫,開發人員須要確保每一個視圖都在適當的時候動畫。Spruce能夠幫助設計師請求複雜的多視圖動畫,而不是讓開發人員對原型感到畏懼。dom

Libraries:github.com/willowtreea…異步

Spruce Android

3. MaterialChipsInput

Chips是在材料設計中呈現。

在小塊中表示覆雜的實體,如聯繫人。Chips能夠包含照片,文字,規則,圖標或聯繫人等實體。

MaterialChipsInput是Android的該組件的實現。庫提供了兩個視圖:ChipsInput and ChipView.。

Libraries:github.com/pchmn/Mater…

這裏寫圖片描述

4. Grav

這個庫容許建立基於點的多個動畫。 你能夠很容易地作出光滑美麗的動畫。

Libraries:github.com/glomadrian/…

這裏寫圖片描述

5. Litho

Litho不是一個庫,它是一個框架。一個很是強大的框架,以聲明的方式構建用戶界面。它是由Facebook開發者開發的,因此即便你不想嘗試,仍然值得觀察和跟蹤一個開發過程。

主要功能包括:

  • 使用聲明式API來定義UI組件。您只需根據一組不可變的輸入描述UI的佈局,其他的框架就能夠完成。
  • 異步佈局:Litho能夠提早測量和佈局您的UI,而不會阻塞UI線程。
  • 視圖展平:Litho使用Yoga 進行佈局,並自動減小UI包含的ViewGroup數量。
  • 細粒度回收:任何組件(如文本或圖像)均可以在UI中的任何位置進行回收和重用。

Libraries:github.com/facebook/li…

這裏寫圖片描述

6. Adaptable Bottom Navigation

前段時間Google更新了Material Design指南,並介紹了底部的導航欄,做爲咱們的應用程序中遵循的幾個優秀的UI模式之一。他們還將實現添加到設計支持庫。

自適應底部導航能夠很容易地BottomNavigationView從支持庫中取代。它是以如何ViewPager和TabLayout工做的方式實施的。這是Buffer小組的簡短解釋:

如前所述,在使用Android支持庫的底部導航視圖時,能夠有不少樣板代碼用於切換視圖。所以,咱們從TabLayout setupWithViewPager()方法中獲取了靈感,並建立了一個自定義的ViewSwapper組件,該組件能夠附加到底部導航視圖,以簡化視圖顯示的管理。

Libraries:github.com/bufferapp/A…

這裏寫圖片描述

7. PatternLockView

該庫容許您輕鬆快速地在您的應用中實現模式鎖定機制。它很是易於使用,而且有大量的自定義選項可用來更改此視圖的功能和外觀以知足您的需求。

它也支持RxJava 2視圖綁定,因此若是你是反應式編程的,當用戶繪製模式時,你能夠獲得一串更新。

該自述了許多例子,因此很容易下手本庫。

Libraries:https://github.com/aritraroy/PatternLockView

這裏寫圖片描述

8. Isometric

這是一個開源庫,幫助繪製等距形狀。在我看來,它是這個清單中最酷的開源庫之一,它讓我想起了記念碑谷遊戲。

該庫支持繪製多個形狀,路徑和複雜結構,以下面的示例。

Libraries:https://github.com/FabianTerhorst/Isometric

這裏寫圖片描述

9. UltraViewPager

咱們能夠把這個庫做爲一個ViewPager擴展來封裝許多功能,主要是爲多頁面切換場景提供統一的解決方案。

UltraViewPager支持:

  • 水平滾動和垂直滾動,

  • 在一個多視圖 ViewPager

  • 循環切換視圖。例如,若是在a中顯示3個視圖ViewPager,則應在第三個視圖以後切換回第一個視圖,

  • 自動滾動功能(實現定時器使用Handler),

  • 設置最大高度和最大寬度,

  • 設置縱橫比,

  • 說明咱們目前的視圖(圓圈和圖標),

  • 內置兩種頁面轉換動畫。

這個庫也有很好的文檔。

Libraries:https://github.com/alibaba/UltraViewPager

這裏寫圖片描述

10. InfiniteCards

這個庫有助於實現UI卡,而後用一個漂亮的動畫切換它們。

Libraries:https://github.com/BakerJQ/Android-InfiniteCards

這裏寫圖片描述

11. SlidingRootNav

這是一個開源庫,咱們能夠把它看做是一個DrawerLayout ViewGroup,在內容視圖下隱藏一個抽屜,而後能夠移動,使抽屜可見。很值得一試。

Libraries:https://github.com/yarolegovich/SlidingRootNav

這裏寫圖片描述

12. PasscodeView

這只是一個能夠輸入密碼的視圖。

Libraries:https://github.com/hanks-zyh/PasscodeView

這裏寫圖片描述

13. MusicWave

該庫容許將聲音表示爲漸變色可視化。

Libraries:https://github.com/akshay2211/MusicWave

這裏寫圖片描述

14. ShadowImageView

這個庫能夠幫助你添加更有意義的陰影到你的圖像。根據自述文件,它是更精美的陰影效果,在一些特殊的場景中用來加強用戶體驗。並且,它很容易使用。

Libraries:https://github.com/yingLanNull/ShadowImageView

這裏寫圖片描述

15. PolygonDrawingUtil

這是一個高效的Android實用工具類,用於繪製正方形的多邊形Canvas。咱們能夠指定:

  • 邊數(≥3),

  • 中心座標,

  • 外半徑(中心到頂點),

  • 圓角半徑,

  • 多邊形旋轉,

  • 填充/Paint。

Libraries:https://github.com/stkent/PolygonDrawingUtil

這裏寫圖片描述

16. Tiny

這是清單中的第二個框架。它負責圖像壓縮,這是至關強大的。另外,它使用異步線程池來壓縮圖像,並在壓縮完成時將結果發佈在主線程中。

Libraries:https://github.com/Sunzxyong/Tiny

這裏寫圖片描述

17. ParticleTextView

該庫提供了一個自定義TextView小部件,可使用各類動畫效果和配置屬性來建立文本。

Libraries:https://github.com/Yasic/ParticleTextView

這裏寫圖片描述

18. CropIwa

這是一個高度可配置的圖像裁剪小部件。該庫具備模塊化架構,使其具備高度可配置性。很棒的開源庫。

Libraries:https://github.com/steelkiwi/cropiwa

這裏寫圖片描述

19. Project Condom

這是一個精簡的庫,Context在將其傳遞給第三方SDK以前,將其應用在您的Android項目中。它的設計目的是爲了防止第三方軟件SDK出現常見的不須要的行爲,這些行爲可能會損害您的應用程序的用戶體驗。

這裏是解釋:

在其餘應用程序中大量啓動進程(在第三方推送SDK中很常見),致使應用程序啓動緩慢,而且在低端到中端設備上顯着滯後。這種行爲在具備相似SDK的應用程序之間產生了連鎖反應,大大加重了總體設備的性能。

Libraries:https://github.com/oasisfeng/condom

20. AppMethodOrder

這個庫容許你跟蹤全部的函數調用順序。該項目是有據可查的,你能夠找到詳細的手冊如何使用它。惟一的限制是,它是用中文書寫的,可是你能夠隨時在瀏覽器中點擊翻譯成英文,享受這個偉大的項目。

Libraries:https://github.com/zjw-swun/AppMethodOrder

這裏寫圖片描述

21. Android DebugKit

這是一個有趣的開源庫。它容許您建立和使用特殊的懸停調試工具,來觸發您在應用程序中定義的操做。這些行爲顯然能夠在運行時觸發,所以,它能夠在反饋寫做或測試手機屏幕時使用。

Libraries:https://github.com/hulab/debugkit

這裏寫圖片描述

22. Aesthetic

這是一個新的庫,仍然在測試版,但它確實很酷 - 它動態地改變你的主題與Rx的支持!據做者說,這是一個快速和易於使用的即插即用動態主題引擎。由Rx提供支持,適用於Android應用程序。

該文檔很是好,全面,絕對值得一看。

Libraries:https://github.com/afollestad/aesthetic

這裏寫圖片描述

23. EasyCalendar

這是一個簡單的自定義日曆小部件。主要功能包括:

  • 自定義佈局的標題,

  • 自定義佈局的日期,

  • 顯示或隱藏分隔線的日期,

  • 顯示或隱藏超值日期,

  • 傾聽日期的視圖點擊。

文檔是全面的,開源庫易於使用。

Libraries:https://github.com/shichaohui/EasyCalendar

這裏寫圖片描述

24. SimpleRatingBar

這個庫提供了兩個評級欄:

  • BaseRatingBar - 沒有任何動畫,

  • ScaleRatingBar - 具備漸進和縮放動畫。

  • 你能夠在下面看到他們的gif:

Libraries:https://github.com/ome450901/SimpleRatingBar

這裏寫圖片描述

25. Magellan

這個開源庫廣而告之被稱爲Android最簡單的導航庫,但你須要檢查是否值得你使用。 主要特色:

  • 導航和調用goTo(screen)方法同樣簡單,

  • 你能夠徹底控制堆棧,

  • 轉換是自動爲您處理的。

Libraries:https://github.com/wealthfront/magellan

這裏寫圖片描述

26. ViewPagerAnimator

ViewPagerAnimator是一個輕量級的,是強大的Android ViewPager動畫庫。它的設計目的是在用戶在ViewPager頁面之間導航時,對任意值進行動畫處理,而且將精確地跟隨手指的運動。儘管庫自己可能對某些人有用處,可是發佈這個庫的主要目的是展現一些很好的API的細微之處,在使用Java 8擴展的時候,這些微妙之處就已經顯現出來了。提供了Java 7和Java 8的示例項目。

它由Mark Allison編寫,您能夠在他的Styling Android博客上得到更多信息。

Libraries:https://github.com/StylingAndroid/ViewPagerAnimator

這裏寫圖片描述

27. BlockCanaryEx

這是一個庫,當你的應用程序被阻塞時,它會幫助你在代碼中找到重的方法。它是基於BlockCanary。

Libraries:https://github.com/seiginonakama/BlockCanaryEx

這裏寫圖片描述

28. PaletteImageView

這是一個至關酷的圖書館。它給你的圖像添加了陰影,可是陰影的顏色是佔主導的圖像顏色。

文檔很糟糕,可是我認爲代碼是不言自明的。

Libraries:https://github.com/DingMouRen/PaletteImageView

這裏寫圖片描述

29. RecyclerRefreshLayout

這是一個刷新動畫,打開相機快門。在我看來確實值得一查,尤爲是在README中有一個數學分析,如何達到這個效果!

Libraries:https://github.com/dinuscxj/ShootRefreshView

這裏寫圖片描述

30. SlimAdapter

這是一種無需ViewHolder編寫適配器的方法。主要特色包括:

  • 沒有 ViewHolders,

  • 無反射,

  • 流暢和簡單的API,

  • 多種類型的適配器,

  • 支持Kotlin,

  • 簡單的支持DiffUtil。

Libraries:https://github.com/MEiDIK/SlimAdapter

這裏寫圖片描述

就是這樣。我但願你喜歡這篇文章!若是我沒有提到在今年發佈的其餘偉大的開源庫,請在下面的評論中告訴我。讓咱們把這份清單放在一塊兒變得更爲全面!

若是您喜歡個人文章,請不要忘記推薦給其餘人。

相關文章
相關標籤/搜索