1. 程式人生 > >2017 github 上android 原始碼(適合工作中開發)

2017 github 上android 原始碼(適合工作中開發)

Android 開源專案第一篇——個性化控制元件(View)篇
  包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style、其他
Android 開源專案第二篇——工具庫篇
  包括依賴注入、圖片快取、網路請求、資料庫 ORM 工具包、Android 公共庫、高版本向低版本相容庫、多媒體、事件匯流排、感測器、安全、外掛化、檔案、其他
Android 開源專案第三篇——優秀專案篇
  比較有意思的完整的 Android 專案
Android 開源專案第四篇——開發及測試工具篇
  包括開發效率工具、開發自測相關、測試工具、開發及編譯環境、其他
Android 開源專案第五篇——優秀個人和團體篇
  樂於分享並且有一些很不錯的開源專案的個人和組織,包括 JakeWharton、Chris Banes、Koushik Dutta 等大牛

第一部分 個性化控制元件(View)

主要介紹那些不錯個性化的 View,包括 ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style 等等。
一、ListView

android-pulltorefresh
一個強大的拉動重新整理開源專案,支援各種控制元件下拉重新整理,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment 上下左右拉動重新整理,比下面 johannilsson 那個只支援 ListView 的強大的多。並且它實現的下拉重新整理 ListView 在 item 不足一屏情況下也不會顯示重新整理提示,體驗更好。
專案地址:https://github.com/chrisbanes/Android-PullToRefresh
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
APP 示例:新浪微博各個頁面

android-pulltorefresh-listview
下拉重新整理 ListView,這個被很多人使用的專案實際有不少 bug,推薦使用 android-Ultra-Pull-to-Refresh
專案地址:https://github.com/johannilsson/android-pulltorefresh
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refresh-listview-demo.apk?raw=true

android-Ultra-Pull-to-Refresh
下拉重新整理,第一個專案已經停止維護了,並且使用起來相對複雜,定製性也差。這個是替代和改良方案。這個繼承於 ViewGroup 可以包含任何 View。功能甚至比 SwipeRefreshLayout 強大。使用起來非常簡單。良好的設計,如果你想定製自己的 UI 樣式,非常簡單,就像給 ListView 加一個 Header View 那麼簡單。支援 API LEVEL >= 8
專案地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh
原理剖析文件:android-Ultra-Pull-to-Refresh
Demo 地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh/blob/master/ptr-demo/target/ultra-ptr-demo.apk?raw=true
效果圖:Renderings
http://srain-github.qiniudn.com/ultra-ptr/release-to-refresh.gif
http://srain-github.qiniudn.com/ultra-ptr/auto-refresh.gif
http://srain-github.qiniudn.com/ultra-ptr/store-house-string-array.gif

DragSortListView
拖動排序的 ListView,同時支援 ListView 滑動 item 刪除,各個 Item 高度不一、單選、複選、CursorAdapter 做為介面卡、拖動背景變化等
專案地址:https://github.com/bauerca/drag-sort-listview
Demo 地址:https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv
APP 示例:Wordpress Android

SwipeListView
支援定義 ListView 左右滑動事件,支援左右滑動位移,支援定義動畫時間
專案地址:https://github.com/47deg/android-swipelistview
Demo 地址:https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview
APP 示例:微信

SlideAndDragListView
支援ListView的Item的拖動排序、左右滑動事件,可自定義左右滑動顯示文字、圖示、位移,同時支援onItemClick、onItemLongClick等監聽器,提供豐富的回撥介面。
專案地址:https://github.com/yydcdut/SlideAndDragListView
Demo 地址:https://github.com/yydcdut/SlideAndDragListView/blob/master/apk/sdlv.apk?raw=true
APP 示例:Android 手機QQ 5.0
效果圖:Renderings

Android-SwipeToDismiss
滑動 Item 消失 ListView,支援 3.0 以下版本見:https://github.com/JakeWharton/SwipeToDismissNOA
專案地址:https://github.com/romannurik/Android-SwipeToDismiss
Demo 地址:https://github.com/JakeWharton/SwipeToDismissNOA/SwipeToDismissNOA.apk/qr_code

RecyclerViewSwipeDismiss
輕量級支援 support-v7 中的 RecyclerView 的滑動刪除(Swipe to dismiss)行為,不需要修改原始碼,只要簡單的繫結onTouchListener
專案地址:https://github.com/CodeFalling/RecyclerViewSwipeDismiss
效果圖:Renderings

PinnedHeaderExpandableListView
首先它是一個 ExpandableListView,但是它的頭部可以固定,其次,在它的上面還有一個頭部可以來回伸縮
專案地址:https://github.com/singwhatiwanna/PinnedHeaderExpandableListView
效果圖:Renderings
APP 示例:百度手機衛士垃圾清理介面

StickyListHeaders
GroupName 滑動到頂端時會固定不動直到另外一個 GroupName 到達頂端的 ExpandListView,支援快速滑動,支援 Android2.3 及以上
專案地址:https://github.com/emilsjolander/StickyListHeaders
效果圖:Renderings
APP 示例:Android 4.0 聯絡人

pinned-section-listview
GroupName 滑動到頂端時會固定不動直到另外一個 GroupName 到達頂端的 ExpandListView
專案地址:https://github.com/beworker/pinned-section-listview
效果圖:Renderings

PinnedHeaderListView
GroupName 滑動到頂端時會固定不動直到另外一個 GroupName 到達頂端的 ExpandListView
專案地址:https://github.com/JimiSmith/PinnedHeaderListView

QuickReturn
ListView/ScrollView 的 header 或 footer,當向下滾動時消失,向上滾動時出現
專案地址:https://github.com/lawloretienne/QuickReturn
Demo 地址:https://play.google.com/store/apps/details?id=com.etiennelawlor.quickreturn

QuickReturnHeader
ListView/ScrollView 的 header 或 footer,當向下滾動時消失,向上滾動時出現
專案地址:https://github.com/ManuelPeinado/QuickReturnHeader
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=true
APP 示例:google plus

IndexableListView
ListView 右側會顯示 item 首字母快捷索引,點選可快速滑動到某個 item
專案地址:https://github.com/woozzu/IndexableListView
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=true
APP 示例:微信通訊錄、小米聯絡人

CustomFastScrollView
ListView 快速滑動,同時螢幕中間 PopupWindows 顯示滑動到的 item 內容或首字母
專案地址:https://github.com/nolanlawson/CustomFastScrollViewDemo
效果圖:Renderings

Android-ScrollBarPanel
ListView 滑動時固定的 Panel 指示顯示在 scrollbar 旁邊
專案地址:https://github.com/rno/Android-ScrollBarPanel
效果圖:Renderings

SlideExpandableListView
使用者點選 listView item 滑出固定區域,其他 item 的區域收縮
專案地址:https://github.com/tjerkw/Android-SlideExpandableListView
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=true

JazzyListView
ListView 及 GridView item 以特殊動畫效果進入螢幕,效果包括 grow、cards、curl、wave、flip、fly 等等
專案地址:https://github.com/twotoasters/JazzyListView
Demo 地址:https://play.google.com/store/apps/details?id=com.twotoasters.jazzylistview.sample
線上演示:http://lab.hakim.se/scroll-effects/

ListViewAnimations
帶 Item 顯示動畫的 ListView,動畫包括底部飛入、其他方向斜飛入、下層飛入、漸變消失、滑動刪除等
專案地址:https://github.com/nhaarman/ListViewAnimations
Demo 地址:https://play.google.com/store/apps/details?id=com.haarman.listviewanimations
APP 示例:Google plus、Google Now 卡片式進入、小米系統中應用商店、聯絡人、遊戲中心、音樂、檔案管理器的 ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、Car Hire、Super BART、DK FlashCards、Counter Plus、Voorlees Verhaaltjes 2.0

DevsmartLib-Android
橫向 ListView
專案地址:https://github.com/dinocore1/DevsmartLib-Android
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk?raw=true

TwoWayView
橫向 ListView 的效果,繼承自 AdapterView
專案地址:https://github.com/lucasr/twoway-view

HorizontalVariableListView
支援 Item 寬度不一致的 ListView
專案地址:https://github.com/sephiroth74/HorizontalVariableListView

LinearListView
用 LinearLayout 實現的 ListView,可解決多個 ListView 並存等問題。目前自己也有需要,等親自嘗試過後會再具體介紹
專案地址:https://github.com/frankiesardo/LinearListView

MultiChoiceAdapter
支援多選的 ListView Adapter
專案地址:https://github.com/ManuelPeinado/MultiChoiceAdapter
Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.multichoiceadapter.demo

EnhancedListView
支援橫向滑動刪除列表項以及撤銷刪除的 ListView,該專案的前身是SwipeToDismissUndoList
專案地址:https://github.com/timroes/EnhancedListView
Demo 地址:https://play.google.com/store/apps/details?id=de.timroes.android.listviewdemo&rdid=de.timroes.android.listviewdemo

ListBuddies
自動滾動的雙列 ListView ,兩個 ListView 滾動速度不一致,有視差效果
專案地址:https://github.com/jpardogo/ListBuddies
Demo 地址:https://play.google.com/store/apps/details?id=com.jpardogo.android.listbuddies
效果圖:Renderings

SwipeMenuListView
針對 ListView item 的側滑選單
專案地址:https://github.com/baoyongzhang/SwipeMenuListView
效果圖:Renderings
APP 示例:手機 QQV5.0

PagingListView
分頁載入的 ListView。當滑動到 ListView 底部最後一個元素時,顯示一個進度行,然後載入下一頁資料,並顯示。
專案地址:https://github.com/nicolasjafelle/PagingListView

PullZoomView
支援下拉時 HeaderView 縮放的 ListView、ScrollView
專案地址:https://github.com/Frank-Zhu/PullZoomView
效果圖:Renderings

PullToZoomInListView
滑動 ListView 時使其 HeaderView 跟隨滑動縮放
專案地址:https://github.com/matrixxun/PullToZoomInListView
效果圖:Renderings

CalendarListview
實現每個月一行日曆效果的 ListView
專案地址:https://github.com/traex/CalendarListview
原理剖析文件:CalendarListview
效果圖:Renderings

sticky-headers-recyclerview
GroupName 滑動到頂端時會固定不動直到另外一個 GroupName 到達頂端的 ListView,採用 support-v7 中的 RecyclerView 實現
專案地址:https://github.com/timehop/sticky-headers-recyclerview

PullSeparateListView
到達頂部或底部繼續拉動時,實現 Item 間的相互分離,兩種模式:(1) 全部分離的模式,即螢幕內所有 Item 都會分離 (2)部分分離模式,以點選位置為分界點,部分 item 分離
專案地址:https://github.com/chiemy/PullSeparateListView
效果圖:Renderings

ExpandableLayout
Header 和 Content Item 都可以展開的 ExpandableListview
專案地址:https://github.com/traex/ExpandableLayout

PagedHeadListView
支援 paginated header 以及 material page indicator 的 ListView.
專案地址:https://github.com/JorgeCastilloPrz/PagedHeadListView
效果圖:Renderings

CustomSwipeListView
支援左滑彈出自定義選單,右滑刪除且允許撤銷,同時可以自定義滑動動畫時間和滑動觸發事件的時機等。
專案地址:https://github.com/xyczero/Android-CustomSwipeListView
Demo 地址:Download here
效果圖:Renderings

Pull-to-Refresh.Rentals-Android
提供一個簡單可以自定義的下拉重新整理實現,Yalantis 出品。
專案地址:https://github.com/Yalantis/Pull-to-Refresh.Rentals-Android
效果圖:Renderings

ScrollerCalendar
實現每行顯示一年的 12 個月份的 RecyclerView 年曆
專案地址:https://github.com/guanchao/ScrollerCalendar
效果圖:Renderings

ExtractWordView
一個可以提取單詞的 ListView,支援"放大鏡"效果。
專案地址:https://github.com/jcodeing/ExtractWordView
Demo 地址:Download here
效果圖:Renderings

FlyRefresh
支援 ListView, GridView, RecyclerView, ScrollView 的下拉重新整理
專案地址:https://github.com/race604/FlyRefresh
效果圖:Renderings

MVCHelper
實現下拉重新整理,滾動底部自動載入更多,分頁載入,自動切換顯示網路失敗佈局,暫無資料佈局,支援任意 view,真正的 MVC 架構
支援切換主流下拉重新整理框架 Android-PullToRefresh-Library,android-Ultra-Pull-To-Refresh-library,SwipeRefreshLayout
專案地址:https://github.com/LuckyJayce/MVCHelper
Demo 地址:https://github.com/LuckyJayce/MVCHelper/blob/master/raw/MVCHelper_Demo.apk?raw=true

RecyclerViewSwipeDismiss
支援滑動 Item 操作、點選展開、拖動排序、展開後拖動排序等特性的 RecyclerView
專案地址:https://play.google.com/store/apps/details?id=com.h6ah4i.android.example.advrecyclerview
視訊:http://www.youtube.com/watch?feature=player_embedded&v=S7cSwMArjUQ

WaterDropListView
模仿 iOS 下拉重新整理“水滴”效果,支援下拉重新整理和上拉載入
專案地址:https://github.com/THEONE10211024/WaterDropListView
效果圖:Renderings

PopupListView
實現ListItem 點選後置頂並可顯示客製化新增的item的內部View 的ListView
專案地址:https://github.com/s8871404/PopupListView
Demo 地址:https://play.google.com/store/apps/details?id=com.baobomb.popuplistview_sample
效果圖:Renderings

二、ActionBar

ActionBarSherlock
為 Android 所有版本提供統一的 ActionBar,解決 4.0 以下 ActionBar 的適配問題
專案地址:https://github.com/JakeWharton/ActionBarSherlock
Demo 地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos
標籤:相容庫, ActionBar

ActionBar-PullToRefresh
下拉重新整理,ActionBar 出現載入中提示
專案地址:https://github.com/chrisbanes/ActionBar-PullToRefresh
Demo 地址:https://play.google.com/store/apps/details?id=uk.co.senab.actionbarpulltorefresh.samples.stock
APP 示例:Gmail,Google Plus,知乎等

FadingActionBar
ListView 向下滾動逐漸顯現的 ActionBar
專案地址:https://github.com/ManuelPeinado/FadingActionBar
Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demo
APP 示例:google music,知乎

NotBoringActionBar
google music 下拉收縮的 ActionBar
專案地址:https://github.com/flavienlaurent/NotBoringActionBar
Demo 地址:http://flavienlaurent.com/blog/2013/11/20/making-your-action-bar-not-boring/
APP 示例:Google 音樂

RefreshActionItem
帶進度顯示和重新整理按鈕的 ActionBar
專案地址:https://github.com/ManuelPeinado/RefreshActionItem
Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.refreshactionitem.demo
APP 示例:The New York Times,DevAppsDirect

GlassActionBar
類似玻璃的有一定透明度的 ActionBar
專案地址:https://github.com/ManuelPeinado/GlassActionBar
Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.glassactionbardemo
APP 示例:google music

三、Menu

MenuDrawer
滑出式選單,通過拖動螢幕邊緣滑出選單,支援螢幕上下左右劃出,支援當前 View 處於上下層,支援 Windows 邊緣、ListView 邊緣、ViewPager 變化劃出選單等。
專案地址:https://github.com/SimonVT/android-menudrawer
Demo 地址:http://simonvt.github.io/android-menudrawer/
APP 示例:Gmail、Google Music 等大部分 google app

SlidingMenu
滑出式選單,通過拖動螢幕邊緣滑出選單,支援螢幕左右劃出,支援選單 zoom、scale、slide up 三種動畫樣式出現。與 MenuDrawer 相比而言,SlidingMenu 支援選單動畫樣式出現,MenuDrawer 支援選單 view 處於內容的上下層
專案地址:https://github.com/jfeinstein10/SlidingMenu
原理剖析文件:SlidingMenu
Demo 地址:https://play.google.com/store/apps/details?id=com.slidingmenu.example
APP 示例:Foursquare, LinkedIn, Zappos, Rdio, Evernote Food, Plume, VLC for Android, ESPN ScoreCenter, MLS MatchDay, 9GAG, Wunderlist 2, The Verge, MTG Familiar, Mantano Reader, Falcon Pro (BETA), MW3 Barracks

ArcMenu
支援類似 Path 的左下角動畫旋轉選單及橫向劃出選單、圓心彈出選單
專案地址:https://github.com/daCapricorn/ArcMenu
效果圖:Renderings
https://dl.dropboxusercontent.com/u/11369687/preview1.png
https://dl.dropboxusercontent.com/u/11369687/raymenu.png
APP 示例:Path

android-satellite-menu
類似 Path 的左下角動畫旋轉選單
專案地址:https://github.com/siyamed/android-satellite-menu
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/satellite-menu-demo.apk?raw=true
APP 示例:Path

radial-menu-widget
圓形選單,支援二級選單
專案地址:https://code.google.com/p/radial-menu-widget/
效果圖:Renderings

Android Wheel Menu
圓形旋轉選取選單
專案地址:https://github.com/anupcowkur/Android-Wheel-Menu
效果圖:Renderings

FoldingNavigationDrawer
滑動並以摺疊方式開啟選單
專案地址:https://github.com/tibi1712/FoldingNavigationDrawer-Android
Demo 地址:https://play.google.com/store/apps/details?id=com.ptr.folding.sample
效果圖:Renderings

AndroidResideMenu
仿 Dribbble 的邊欄選單
專案地址:https://github.com/SpecialCyCi/AndroidResideMenu
效果圖:Renderings

CircularFloatingActionMenu
一個可定製的圓形的浮動選單控制元件,類似於 Path 的圓形選單。這個控制元件的可定製性更強,可以很容易的定製選單出現消失時的動畫,起始角度和半徑。
專案地址:https://github.com/oguzbilgener/CircularFloatingActionMenu
原理剖析文件:CircularFloatingActionMenu
Demo 地址:https://github.com/oguzbilgener/CircularFloatingActionMenu/tree/master/samples
效果圖:Renderings

NavigationDrawerSI
Navigation Drawer 的一個簡單實現,滑動並以摺疊方式開啟選單
專案地址:https://github.com/mmBs/NavigationDrawerSI
Demo 地址:https://play.google.com/store/apps/details?id=mmbialas.pl.navigationdrawersi
效果圖:Renderings
APP 示例:https://play.google.com/store/apps/details?id=mmbialas.pl.navigationdrawersi

DragLayout
使用 support.v4 包下的 ViewDragHelper 實現 QQ5.0 側滑
專案地址:https://github.com/BlueMor/DragLayout
效果圖:Renderings

LDrawer
Material Design 形式的展開摺疊 Icon
專案地址:https://github.com/ikimuhendis/LDrawer
效果圖:Renderings

Floating Action Button
懸浮的圓形選單欄,支援組建滾動時自動隱藏及其他設定
專案地址:https://github.com/shamanland/floating-action-button
效果圖:Renderings

Side-Menu.Android
分類側滑選單,Yalantis 出品。
專案地址:https://github.com/Yalantis/Side-Menu.Android
原理剖析文件:Side-Menu.Android
效果圖:Renderings

Context-Menu.Android
可以方便快速整合漂亮帶有動畫效果的上下文選單,Yalantis出品。
專案地址:https://github.com/Yalantis/Context-Menu.Android
效果圖:Renderings

Droppy
支援多種樣式的下拉選單
專案地址:https://github.com/shehabic/Droppy

MaterialDrawer
Material Design 風格的導航抽屜,提供簡便且強大的定製功能
專案地址:https://github.com/mikepenz/MaterialDrawer
Demo 地址:https://play.google.com/store/apps/details?id=com.mikepenz.materialdrawer.app
效果圖:Renderings

SlideBottomPanel
底部劃出選單,滑動時背景圖透明度漸變,支援巢狀 LiewView 或 ScrollView
專案地址:https://github.com/kingideayou/SlideBottomPanel
Demo 地址:SlideBottomPanelDemo 下載
效果圖:Renderings

四、ViewPager 、Gallery

ConvenientBanner
通用的廣告欄控制元件,讓你輕鬆實現廣告頭效果。支援無限迴圈,可以設定自動翻頁和時間(而且非常智慧,手指觸碰則暫停翻頁,離開自動開始翻頁。你也可以設定在介面onPause的時候不進行自動翻頁,onResume之後繼續自動翻頁),並且提供多種翻頁特效。 對比其他廣告欄控制元件,大多都需要對原始碼進行改動才能載入網路圖片,或者幫你整合不是你所需要的圖片快取庫。而這個庫能讓有程式碼潔癖的你歡喜,不需要對庫原始碼進行修改你就可以使用任何你喜歡的網路圖片庫進行配合。 專案地址:https://github.com/saiwu-bigkoo/Android-ConvenientBanner
效果圖:Renderings

Android-ViewPagerIndicator
配合 ViewPager 使用的 Indicator,支援各種位置和樣式
專案地址:https://github.com/JakeWharton/Android-ViewPagerIndicator
Demo 地址:https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample
APP 示例:太多了。。

JazzyViewPager
支援 Fragment 切換動畫的 ViewPager,動畫包括轉盤、淡入淡出、翻頁、層疊、旋轉、方塊、翻轉、放大縮小等,效果類似桌面左右切換的各種效果,不過桌面並非用 ViewPager 實現而已
專案地址:https://github.com/jfeinstein10/JazzyViewPager
Demo 地址:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true

JellyViewPager
特殊切換動畫的 ViewPager
專案地址:https://github.com/chiemy/JellyViewPager
效果圖:Renderings

Android-DirectionalViewPager
支援橫向和縱向(垂直)的 ViewPager
專案地址:https://github.com/JakeWharton/Android-DirectionalViewPager
Demo 地址:https://market.android.com/details?id=com.directionalviewpager.sample

FancyCoverFlow
支援 Item 切換動畫效果的類似 Gallery View
專案地址:https://github.com/davidschreiber/FancyCoverFlow
Demo 地址:https://play.google.com/store/apps/details?id=at.technikum.mti.fancycoverflow.samples
效果圖:Renderings

AndroidTouchGallery
支援雙擊或雙指縮放的 Gallery(用 ViewPager 實現),相比下面的 PhotoView,在被放大後依然能滑到下一個 item,並且支援直接從 url 和檔案中獲取圖片,
專案地址:https://github.com/Dreddik/AndroidTouchGallery
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/touch-gallery-demo.apk?raw=true
APP 示例:類似微信中檢視聊天記錄圖片時可雙擊放大,並且放大情況下能正常左右滑動到前後圖片

Android Auto Scroll ViewPager
Android 自動滾動 輪播迴圈的 ViewPager
專案地址:https://github.com/Trinea/android-auto-scroll-view-pager
Demo 地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文件介紹:http://www.trinea.cn/android/auto-scroll-view-pager/

Android PagerSlidingTabStrip
配合 ViewPager 使用的 Indicator,支援 ViewPager Scroll 時 Indicator 聯動
專案地址:https://github.com/astuetz/PagerSlidingTabStrip
原理剖析文件:Android PagerSlidingTabStrip
Demo 地址:https://play.google.com/store/apps/details?id=com.astuetz.viewpager.extensions.sample

ViewPager3D
ViewPager3D 效果
專案地址:https://github.com/inovex/ViewPager3D

AnimaTabsview
仿網易雲音樂標籤切換的動畫,帶透明小三角
專案地址:https://github.com/wuyexiong/transparent-over-animtabsview
線上演示:http://v.youku.com/v_show/id_XNzA4MjY5NjA0.html

LoopingViewPager
無限迴圈的 ViewPager
專案地址:https://github.com/imbryk/LoopingViewPager

android_page_curl
翻書卷曲效果
專案地址:https://github.com/harism/android_page_curl
線上演示:https://www.youtube.com/watch?v=iwu7P5PCpsw
APP 示例:iReader

ViewPagerIndicator
簡化並實現 android 的 TabHost 效果,頂部滑動 tab,引導頁,支援自定義 tab 樣式,自定義滑動塊樣式和位置,自定義切換 tab 的過渡動畫,子介面的預載入和介面快取,設定介面是否可滑動
專案地址:https://github.com/LuckyJayce/ViewPagerIndicator

ScreenSlideIndicator
輕量級的圓形 Indicadtor,位置可以自由調整,不會對 ViewPager 產生任何影響。
專案地址:ScreenSlidePager
效果圖:Renderings

SmartTabLayout
自定義的 Tab title strip,基於 Google Samples 中的 android-SlidingTabBasic 專案,滑動時 Indicator 可平滑過渡。
專案地址:https://github.com/ogaclejapan/SmartTabLayout
Demo 地址:https://play.google.com/store/apps/details?id=com.ogaclejapan.smarttablayout.demo
效果圖:Renderings

AndroidImageSlider
Android 圖片滑動
專案地址:https://github.com/daimajia/AndroidImageSlider
效果圖:Renderings
App
示例:https://github.com/daimajia/AndroidImageSlider/releases/download/v1.0.8/demo-1.0.8.apk

RecyclerViewPager
完全繼承自 RecyclerView,可以自定義觸發翻頁的距離,可自定義翻頁速度,支援垂直方向的 ViewPager,支援 Fragment。
專案地址:RecyclerViewPager
效果圖:Renderings

CircleIndicator
輕量級ViewPager指示器,支援三種不同的模式
專案地址:CircleIndicator
效果圖:Renderings
Renderings
Renderings

五、GridView

StaggeredGridView
允許非對齊行的 GridView,類似 Pinterest 的瀑布流,並且跟 ListView 一樣自帶 View 快取,繼承自 ViewGroup
專案地址:https://github.com/maurycyw/StaggeredGridView
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/staggered-gridview-demo.apk?raw=true
APP 示例:Pinterest 等

AndroidStaggeredGrid
允許非對齊行的 GridView,類似 Pinterest 的瀑布流,繼承自 AbsListView
專案地址:https://github.com/etsy/AndroidStaggeredGrid
APP 示例:Pinterest 等

PinterestLikeAdapterView
允許非對齊行的 GridView,類似 Pinterest 的瀑布流,允許下拉重新整理
專案地址:https://github.com/GDG-Korea/PinterestLikeAdapterView
APP 示例:Pinterest 等

DraggableGridView
Item 可拖動交換位置的 GridView,實際是自己繼承 ViewGroup 實現,類似桌面的單屏效果,可螢幕自動上下滾動進行 Item 移動交換,多屏效果見下面 PagedDragDropGrid
專案地址:https://github.com/thquinn/DraggableGridView
Demo 地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true

StickyGridHeaders
GroupName 滑動到頂端時會固定不動直到另外一個 GroupName 到達頂端的 GridView
專案地址:https://github.com/TonicArtos/StickyGridHeaders
效果圖:Renderings

PagedDragDropGrid
Item 可拖動交換位置、拖動刪除的自定義控制元件,實際是自己繼承 ViewGroup 實現,類似桌面的多屏效果,可拖動到螢幕邊緣,螢幕自動左右滾動進行 Item 移動交換,可拖動進行刪除,單屏效果見上面 DraggableGridView
專案地址:https://github.com/mrKlar/PagedDragDropGrid
線上演示:http://youtu.be/FYTSRfthSuQ

Android-DraggableGridViewPager
Item 可拖動交換位置的 GridView,實際是自己繼承 ViewGroup 實現,類似桌面的多屏效果,可螢幕自動左右滾動進行 Item 移動交換,單屏效果見上面 DraggableGridView
專案地址:https://github.com/zzhouj/Android-DraggableGridViewPager
Demo 地址:https://github.com/Trinea/trinea-download/blob/master/draggable-grid-viewpager-demo.apk?raw=true

TwoWayGridView
可橫向滾動的 GridView
專案地址:https://github.com/jess-anders/two-way-gridview

PagingGridView
分頁載入的 GridView。當滑動到 GridView 底部最後一個行時,顯示一個進度行,然後載入下一頁資料,並顯示。
專案地址:https://github.com/nicolasjafelle/PagingGridView

AsymmetricGridView
一個支援跨行和跨列可變 Item 大小的 GridView
專案地址:https://github.com/felipecsl/AsymmetricGridView
Demo 地址:https://play.google.com/store/apps/details?id=com.felipecsl.asymmetricgridview.app
效果圖:Renderings

GridView with Header and Footer
和ListView一樣帶頭部和底部的GridView,用法和ListView一樣
專案地址:https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter
效果圖:Renderings

六、ImageView

PhotoView
支援雙擊或雙指縮放的 ImageView,在 ViewPager 等 Scrolling view 中正常使用,相比上面的 AndroidTouchGallery,不僅支援 ViewPager,同時支援單個 ImageView
專案地址:https://github.com/chrisbanes/PhotoView
原理剖析文件:PhotoView
Demo 地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sample
APP 示例:photup

android-gif-drawable
支援 gif 顯示的 view,用 jni 實現的,編譯生成 so 庫後直接 xml 定義 view 即可,而且本身不依賴於其他開源專案所以相對下面的 ImageViewEx 簡單的多
專案地址:https://github.com/koral--/android-gif-drawable

ImageViewEx
支援 Gif 顯示的 ImageView,依賴很多,編譯過程很繁瑣
專案地址:https://github.com/frapontillo/ImageViewEx
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/imageviewex-demo.apk?raw=true

RoundedImageView
帶圓角的 ImageView
專案地址:https://github.com/vinc3m1/RoundedImageView
效果圖:Renderings

SelectableRoundedImageView
ImageView 允許四個角的每一個有不同的半徑值。也允許橢圓形、圓形的形狀或者邊
專案地址:https://github.com/pungrue26/SelectableRoundedImageView
Demo 地址:https://play.google.com/store/apps/details?id=com.joooonho
效果圖:Renderings

ColorArt
根據圖片的均色設定背景色顯示文字和圖片,類似 itune11 中效果
專案地址:https://github.com/MichaelEvans/ColorArt
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/color-art-demo.apk?raw=true

CircleImageView
圓形的 ImageView
專案地址:https://github.com/hdodenhof/CircleImageView
效果圖:Renderings

ImageViewZoom
支援放大和平移的 ImageView
專案地址:https://github.com/sephiroth74/ImageViewZoom
APP 示例:https://play.google.com/store/apps/details?id=com.aviary.android.feather

KenBurnsView
實現 Ken Burns effect 效果,達到身臨其境效果的 ImageView
專案地址:https://github.com/flavioarfaria/KenBurnsView

CustomShapeImageView
各種形狀的 ImageView, 相比上面的圓形 ImageView,多了更多形狀
專案地址:https://github.com/MostafaGazar/CustomShapeImageView
效果圖:Renderings

Shape Image View
可以自定義各種形狀的 ImageView, 並且支援邊框
專案地址:https://github.com/siyamed/android-shape-imageview
效果圖:Renderings
https://github.com/siyamed/android-shape-imageview/raw/master/images/all-samples.png

TextDrawable
一個用於生成帶有文字或者字母的圖片的輕量級庫。擴充套件自 Drawable,因此可用於現有/自定義/網路等 ImageView 類,並且包含一個流介面用於建立 drawables 以及一個定製的 ColorGenerator
專案地址:https://github.com/amulyakhare/TextDrawable
效果圖:Renderings

android-smart-image-view
可從 URL 或 contact address book 載入圖片的 ImageView,支援快取
專案地址:https://github.com/loopj/android-smart-image-view

PhotoView
支援雙指/雙擊縮放的ImageView,支援從一個PhotoView縮放到另外一個PhotoView(點選圖片放大預覽),相對於其他PhototView有更加平滑的縮放,平移的動畫,並且支援所有的ScaleType,可以作為普通的ImageView使用
專案地址:https://github.com/bm-x/PhotoView
效果圖:Renderings

七、ProgressBar

SmoothProgressBar
水平進度條
專案地址:https://github.com/castorflex/SmoothProgressBar
Demo 地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.smoothprogressbar.sample

MaterialProgessBar
Material Design 的進度條,支援 Android 4.0
專案地址:https://github.com/DreaminginCodeZH/MaterialProgressBar
Demo 地址:https://github.com/DreaminginCodeZH/MaterialProgressBar/blob/master/dist/sample.apk

ProgressWheel
支援進度顯示的圓形 ProgressBar
專案地址:https://github.com/Todd-Davies/ProgressWheel
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/progress-wheel-demo.apk?raw=true

android-square-progressbar
在圖片周圍顯示進度
專案地址:https://github.com/mrwonderman/android-square-progressbar
Demo 地址:https://play.google.com/store/apps/details?id=net.yscs.android.square_progressbar_example
效果圖:Renderings
APP 示例:square

HoloCircularProgressBar
Android4.1 時鐘 App 樣式
專案地址:https://github.com/passsy/android-HoloCircularProgressBar
效果圖:Renderings
APP 示例:Android4.1 時鐘 App

ProgressButton
通過圖釘的不同狀態顯示進度
專案地址:https://github.com/f2prateek/progressbutton
文件介紹:http://f2prateek.com/progressbutton/
效果圖:Renderings

GoogleProgressBar
類似 google 多個圓形卡片翻轉的 progressBar
專案地址:https://github.com/jpardogo/GoogleProgressBar
效果圖:Renderings

TH-ProgressButton
帶圓形進度顯示的按鈕
專案地址:https://github.com/torryharris/TH-ProgressButton
效果圖:Renderings
https://raw.github.com/Vyshakh-K/TH-ProgressButton/master/screenshots/progressshot2.png

NumberProgressBar
帶數字進度的進度條
專案地址:https://github.com/daimajia/NumberProgressBar
效果圖:Renderings

CircularProgressDrawable
帶圓形進度顯示的進度條
專案地址:https://github.com/Sefford/CircularProgressDrawable
效果圖:Renderings

Android-RoundCornerProgressBar
Android 圓角 ProgressBar,可自定義圓角顏色和半徑,包括帶 Icon 和不帶 Icon 兩種型別。
專案地址:https://github.com/akexorcist/Android-RoundCornerProgressBar
效果圖:Renderings

circular-progress-button
帶進度顯示的 Button
專案地址:https://github.com/dmytrodanylyk/circular-progress-button
效果圖:Renderings

WaveView
一個波紋效果的 View,可用來做 ProgressBar
專案地址:https://github.com/john990/WaveView
Demo 地址:https://raw.github.com/john990/WaveView/master/screenshot%26apk/demo.unaligned.apk
效果圖:Renderings

MaterialLoadingProgressBar
抽取自 SwipeRefreshLayout 的 Material Design 進度指示器
專案地址:https://github.com/lsjwzh/MaterialLoadingProgressBar
效果圖:Renderings

MetaballLoading
A 2d metaball loading 專案地址:https://github.com/dodola/MetaballLoading 效果圖:Renderings 效果圖:Renderings

SectorProgressView
一個圓形或環形的進度顯示控制元件,用圓中扇形的角度大小來表示進度資訊
專案地址:https://github.com/timqi/SectorProgressView
Demo:apk download 
效果圖:
ColorfulRingProgressView SectorProgressView

八、TextView

包括 TextView 及所有繼承自 TextView 控制元件,如 EditText、Button、RadioButton

android-flowtextview
文字自動環繞其他 View 的 Layout
專案地址:https://github.com/deano2390/FlowTextView
效果圖:Renderings

Android Form EditText
驗證輸入合法性的編輯框,支援輸入、英文、ip、url 等多種正則驗證
專案地址:https://github.com/vekexasia/android-edittext-validator
Demo 地址:https://play.google.com/store/apps/details?id=com.andreabaccega.edittextformexample

Emojicon
支援 emojis 的 TextView 和 EditText
專案地址:https://github.com/rockerhieu/emojicon
文件介紹:http://rockerhieu.com/emojicon/

android-circlebutton
Android 圓形按鈕,實際實現是繼承自 ImageView
專案地址:https://github.com/markushi/android-circlebutton
Demo 地址:https://github.com/markushi/android-circlebutton/blob/master/example/example.apk

Segmented Radio Buttons for Android
iOS’s segmented controls 的實現
專案地址:https://github.com/vinc3m1/android-segmentedradiobutton
Demo 地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true
效果圖:Renderings

Chips EditText Library
支援國家名字聯想從而選擇顯示該國國旗的 EditText,實際就是通過 SpannableStringBuilder 實現
專案地址:https://github.com/kpbird/chips-edittext-library
Demo 地址:https://github.com/kpbird/chips-edittext-library/tree/master/ChipsEditTextDemo/bin

AutoFitTextView
可固定邊界內容字型大小自適應的 TextView
專案地址:https://github.com/grantland/android-autofittextview

Shimmer for Android
文字發淡光的 TextView
專案地址:https://github.com/RomainPiel/Shimmer-android

Titanic
可以顯示水位上升下降(不知道該怎麼描述 囧)的 TextView
專案地址:https://github.com/RomainPiel/Titanic
效果圖:Renderings

android-iconify
提供帶 Icon 的 TextView,Menu,Button 等
專案地址:https://github.com/JoanZapata/android-iconify

Calligraphy
讓我們在 android 開發中使用自定義字型變得更加簡單
專案地址:https://github.com/chrisjenx/Calligraphy
效果圖:Renderings

CreditsRoll
類似星球大戰字幕效果的 TextView
專案地址:https://github.com/frakbot/CreditsRoll

android-process-buton
帶載入或提交進度的 Button
專案地址:https://github.com/dmytrodanylyk/android-process-buton

FButton
扁平化的 Button
專案地址:https://github.com/hoang8f/android-flat-button
Demo 地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demo

FloatingActionButton
一個類似 Android 版 Google+浮動功能按鈕的控制元件,可以響應 ListView 的滾動事件。當列表向上滾動的時候會自動顯示,向下滾動的時候自動隱藏。
專案地址:https://github.com/makovkastar/FloatingActionButton
Demo 地址:https://github.com/makovkastar/FloatingActionButton/tree/master/
效果圖:Renderings

Android Saripaar
Android 表單驗證
專案地址:https://github.com/ragunathjawahar/android-saripaar/

JumpingBeans
文字像 Mexican beans 一樣跳動
專案地址:https://github.com/frakbot/JumpingBeans
Demo 地址:http://play.google.com/store/apps/details?id=net.frakbot.jumpingbeans.demo
效果圖:Renderings

FancyButtons
一個不用圖片就可以幫助我們創建出漂亮按鈕的庫。
專案地址:https://github.com/medyo/fancybuttons
Demo 地址:https://github.com/medyo/fancybuttons/tree/master/samples
效果圖:Renderings
https://raw.githubusercontent.com/medyo/fancybuttons/master/screenshots/fancy2.png

Android-RobotoTextView
一個實現了所有 Roboto 字型的 TextView,包括新出的 Roboto Slab 字型。
專案地址:https://github.com/johnkil/Android-RobotoTextView
Demo 地址:http://play.google.com/store/apps/details?id=com.devspark.robototextview
Demo 專案:https://github.com/johnkil/Android-RobotoTextView/tree/master/robototextview-sample
效果圖:Renderings

Android-WizardPager
一個表單嚮導庫
專案地址:https://github.com/romannurik/android-wizardpager
Demo 專案:https://github.com/str4d/android-wizardpager/tree/textfield
效果圖:Renderings

RippleView
一個實現了 Android L 上才引入的點選按鈕後出現水波紋效果的按鈕
專案地址:https://github.com/siriscac/RippleView
Demo 專案:https://github.com/siriscac/RippleView/tree/master/RippleViewExample
效果圖:Renderings

RippleEffect
一個實現 Material Design Ripple 效果的庫,支援 Android API 9+以上版本。
專案地址:https://github.com/traex/RippleEffect
Demo 專案:https://github.com/traex/RippleEffect/tree/master/sample
效果圖:Renderings

RippleCompat 使用易於移植的方式為UI控制元件實現波紋效應,可以適配控制元件原背景及Palette支援。api簡單,可自定義效果,相容至Android API 7+。 專案地址:https://github.com/desmond1121/RippleCompat Demo 專案:https://github.com/desmond1121/RippleCompat/tree/master/app 效果圖: Renderings

palette效果: Renderings

Android Floating Label Widgets
包含一系列控制元件,這些控制元件特點是:有預設值,當值不為空時預設值浮動到上面變為提示
專案地址:https://github.com/marvinlabs/android-floatinglabel-widgets
Demo 地址:https://play.google.com/store/apps/details?id=com.marvinlabs.widget.floatinglabel.demo
線上演示:http://www.youtube.com/watch?v=hpZD9gJcRg0&feature=youtu.be

MaterialEditText
EditText 的 Material Design 實現。包含 Google Material Design Spec中的 UI 效果和一些新增特性。
專案地址:https://github.com/rengwuxian/MaterialEditText

MaterialEditText 實現 Material Design 中 Ripple 效果線條背景的 EditText。直接替換原生 EditText 即可整合。

MultiActionTextView
可以分別給 TextView 中的某幾個字設定點選事件的 TextView
專案地址:https://github.com/ajaysahani/MultiActionTextView
效果圖:Renderings

ToggleButton
狀態切換的 Button,類似 iOS,用 View 實現
專案地址:https://github.com/zcweng/ToggleButton
效果圖:Renderings

SlideSwitch
狀態切換的開關,可以設定為類似 IOS 的圓形,也可以設定為矩形,用 View 實現
專案地址:https://github.com/Leaking/SlideSwitch
效果圖:Renderings

ExpandableTextView
可展開和收縮內容的 TextView。
專案地址:https://github.com/Manabu-GT/ExpandableTextView
效果圖:Renderings

TagCloudView(支援 SingleLine 模式的標籤雲)
標籤雲效果,只需要一行程式碼即可設定為 SingleLine 模式,輕鬆實現知乎問題話題列表效果。SingleLine 模式時末尾文字及圖片可自定義。 專案地址:https://github.com/kingideayou/TagCloudView
示例APK地址:https://github.com/kingideayou/TagCloudView/raw/master/apk/Demo.apk
APP示例:知乎
效果圖:Renderings

BubbleTextView Android Bubble View 專案地址:https://github.com/dupengtao/BubbleTextView 效果圖:Renderings

九、ScrollView

Discrollview
支援滾動時 Item 淡入淡出,平移,縮放效果的 ScrollView
專案地址:https://github.com/flavienlaurent/discrollview
Demo 地址:https://github.com/flavienlaurent/discrollview/raw/master/sample.apk

PullScrollView
仿照新浪微博 Android 客戶端個人中心的 ScrollView,下拉背景伸縮回彈效果。
專案地址:https://github.com/MarkMjw/PullScrollView
效果圖:Renderings

ArcLayout
一個非常簡單的弧佈局庫
專案地址:https://github.com/ogaclejapan/ArcLayout
Demo 地址:https://play.google.com/store/apps/details?id=com.ogaclejapan.arclayout.demo
效果圖:Renderings
https://raw.githubusercontent.com/ogaclejapan/ArcLayout/master/art/demo2.gif

ParallaxScrollView
支援視差滾動的 ScrollView ,背景圖片的滾動速度小於 ScrollView 中子控制元件的滾動速度
專案地址:https://github.com/chrisjenx/ParallaxScrollView
Demo 地址:http://cloud.github.com/downloads/chrisjenx/ParallaxScrollView/ParallaxScrollViewDemo-v1.0.5.apk

AKParallax-Android
支援視差滾動的 ScrollView
專案地址:https://github.com/ideaismobile/AKParallax-Android
Demo 地址:https://play.google.com/store/apps/details?id=com.appkraft.parallax_sample

Android-ObservableScrollView
監聽滾動檢視滾動事件的庫,幫助與 Toolbar 的互動動效處理與 Material Design 的實現
專案地址:https://github.com/ksoichiro/Android-ObservableScrollView
Demo 地址:https://play.google.com/store/apps/details?id=com.github.ksoichiro.android.observablescrollview.samples2

OverScrollView
有彈性的 ScrollView,實現了當手指滑動到 ScrollView 的頂部、底部時,可以繼續的向上、向下拉伸。當釋放手指的時候,向上、下回彈
專案地址:https://github.com/EverythingMe/OverScrollView

十、TimeView

包括 TimePicker、DatePicker、CalendarView、Clock 等時間相關控制元件

android-times-square
Android 日曆時間部件,支援選取單個日期,多個日期,及日期區間段和對話方塊形式顯示
專案地址:https://github.com/square/android-times-square
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/times-square-demo.apk?raw=true

android-calendar-card
日曆
專案地址:https://github.com/kenumir/android-calendar-card
Demo 地址:https://play.google.com/store/apps/details?id=com.wt.calendarcardsample
效果圖:Renderings

AndroidWheel
Android Wheel 支援城市、多種日期時間、密碼、圖片
專案地址:https://code.google.com/p/android-wheel/
效果圖:Renderings

GoogleDateTimePickers
時間選擇部件
專案地址:https://github.com/Mirkoddd/GoogleDateTimePickers
文件介紹:https://play.google.com/store/apps/details?id=com.mirko.sample&hl=it

DateTimePicker
日期選擇部件(Google Agenda 的樣式風格)
專案地址:https://github.com/flavienlaurent/datetimepicker
Demo 地址:https://raw.github.com/biboune/datetimepicker/master/datetimepicker-sample.apk
效果圖:Renderings

android-betterpickers
提供日期、數字、時間(數字方式和鐘錶方式)、重複週期(鬧鐘的週期重複)、HMS(時、分、秒)的選擇,支援以 DialogFragment 的彈窗選擇
專案地址:https://github.com/derekbrameyer/android-betterpickers
Demo 地址:https://play.google.com/store/apps/details?id=com.doomonafireball.betterpickers.sample
效果圖:Renderings

Android Week View
日期控制元件,支援周,天檢視,支援自定義樣式
專案地址:https://github.com/alamkanak/Android-Week-View
效果圖:Renderings

PickerView
仿 iOS 的 PickerView 控制元件,有時間選擇和選項選擇並支援一二三級聯動效果,TimePopupWindow 時間選擇器,支援年月日時分,年月日,時分等格式;OptionsPopupWindow 選項選擇器,支援一,二,三級選項選擇,並且可以設定是否聯動
專案地址:https://github.com/saiwu-bigkoo/Android-PickerView
效果圖:Renderings

CountdownView
Android 倒計時控制元件,使用Canvas繪製,支援多種樣式
專案地址:https://github.com/iwgang/CountdownView
效果圖:Renderings

十一、TipView

包括 Toast、角標、UndoBar 等提示性控制元件

SVProgressHUD SVProgressHUD For Android 精仿iOS的提示庫 SVProgressHUD,api也幾乎一樣。
專案地址:https://github.com/saiwu-bigkoo/Android-SVProgressHUD
效果圖:Renderings

Crouton
豐富樣式的 Toast,允許 alert、comfirm、info 樣式及點選消失樣式,允許設定 Toast 顯示時間,允許自定義 View。 本文 32. SuperToasts 為其擴充套件版
專案地址:https://github.com/keyboardsurfer/Crouton
Demo 地址:http://play.google.com/store/apps/details?id=de.keyboardsurfer.app.demo.crouton

supertooltips
帶動畫效果的 Tips 顯示
專案地址:https://github.com/nhaarman/supertooltips
Demo 地址:https://play.google.com/store/apps/details?id=com.haarman.supertooltips

Android ViewBadger
為其他 View 新增角標(訊息圓點)等
專案地址:https://github.com/jgilfelt/android-viewbadger
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/android-viewbadger.apk?raw=true
效果圖:Renderings

SuperToasts
更豐富樣式的 toast,支援 Button、Progress、Horizontal Progress 樣式、支援進入動畫、支援撤銷及其動畫設定
專案地址:https://github.com/JohnPersano/SuperToasts
Demo 地址:https://play.google.com/store/apps/details?id=com.supertoastsdemo
效果圖:Renderings

UndoBar
螢幕底部顯示取消或是確認的 PopupWindows
專案地址:https://github.com/soarcn/UndoBar
效果圖:Renderings

UndoBar
螢幕底部顯示取消或是確認某操作
專案地址:https://github.com/jenzz/Android-UndoBar
效果圖:Renderings

Android-ActionItemBadge
可以在 ActionBar 的 MenuItem 上顯示一個小角標
專案地址:https://github.com/mikepenz/Android-ActionItemBadge
效果圖:Renderings

SnackBar
Material Design 風格的 Toast,類似 Google inbox 中的提示
專案地址:https://github.com/MrEngineer13/SnackBar
Demo 地址:https://play.google.com/store/apps/details?id=com.mrengineer13.snackbar.sample
效果圖:Renderings

HeadsUp
在 2.3 上使用 android 5.0 的 HeadsUp 效果
專案地址:https://github.com/zzz40500/HeadsUp
效果圖:![Renderings](gif](http://upload-images.jianshu.io/upload_images/166866-543a5d26ab71d0f6.gif)

十二、FlipView

android-flip
類似 Flipboard 翻轉動畫的實現
專案地址:https://github.com/openaphid/android-flip
Demo 地址:https://github.com/openaphid/android-flip/blob/master/FlipView/Demo/APK/Aphid-FlipView-Demo.apk?raw=true
APP 示例:flipboard

FlipImageView
支援 x、y、z 及動畫選擇的翻轉動畫的實現
專案地址:https://github.com/castorflex/FlipImageView
Demo 地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.flipimageview

FoldableLayout
Flip 翻轉效果的 ListView,目前還不支援 ListView 快取
專案地址:https://github.com/alexvasilkov/FoldableLayout
Demo 地址:http://play.google.com/store/apps/details?id=com.alexvasilkov.foldablelayout.sample

FlipViewPager.Draco
Flip 翻轉效果的 ViewPager
專案地址:https://github.com/Yalantis/FlipViewPager.Draco
效果:flip.gif

十三、ColorPickView

ColorPickerView
顏色選擇器,支援 PopupWindows 或新的 Activity 中開啟
專案地址:https://code.google.com/p/color-picker-view/
效果圖:Renderings

HoloColorPicker
顏色選擇器
專案地址:https://github.com/LarsWerkman/HoloColorPicker
Demo 地址:https://docs.google.com/file/d/0BwclyDTlLrdXRzVnTGJvTlRfU2s/edit

ColorPickerPreference
顏色選擇器
專案地址:https://github.com/attenzione/android-ColorPickerPreference
效果圖:Renderings

ColorPicker
顏色選擇器(Google Agenda 中的樣式風格)
專案地址:https://github.com/flavienlaurent/colorpicker
Demo 地址:https://raw.github.com/biboune/colorpicker/master/colorpicker-sample.apk
效果圖:Renderings

十四、GraphView

MPAndroidChart
強大的圖表繪製工具,支援折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、範圍(高至低)條形圖、網狀圖等;支援圖的拖拽縮放;支援 Android 2.2 以上,支援橫縱軸縮放,多指縮放,展現動畫、高亮、儲存到 sdcard、從檔案讀取圖表
專案地址:https://github.com/PhilJay/MPAndroidChart
Demo 地址:https://play.google.com/store/apps/details?id=com.xxmassdeveloper.mpchartexample
Demo 專案:https://github.com/PhilJay/MPAndroidChart/tree/master/MPChartExample
效果圖:Renderings
https://camo.githubusercontent.com/78b4bc4e50e151970961daf56e81c4c0db72d27c/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d5043686172742f6d61737465722f73637265656e73686f74732f73696d706c6564657369676e5f6261726368617274332e706e67
https://camo.githubusercontent.com/65f51783ec05038730b481ed614b57a94e867d86/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d5043686172742f6d61737465722f73637265656e73686f74732f626172636861727432642e706e67
https://camo.githubusercontent.com/f66a35bf430b12480d3e2ed8e3bc8d7a17db950f/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d5043686172742f6d61737465722f73637265656e73686f74732f626172636861727433642e706e67
https://camo.githubusercontent.com/60bd0d71462ad577df775b956944b191e939728a/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d50416e64726f696443686172742f6d61737465722f73637265656e73686f74732f70696563686172745f686f6c657261646975735f73706163652e706e67
https://camo.githubusercontent.com/6b254aa699df7f9464967009129c3017de721b77/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d50416e64726f696443686172742f6d61737465722f73637265656e73686f74732f7363617474657263686172742e706e67
線上演示:https://www.youtube.com/watch?v=ufaK_Hd6BpI

achartengine
強大的圖表繪製工具,支援折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、範圍(高至低)條形圖、撥號圖/表、立方線圖及各種圖的結合
專案地址:https://code.google.com/p/achartengine/
效果圖:Renderings
http://www.achartengine.org/dimages/sales_line_and_area_chart.png
http://www.achartengine.org/dimages/temperature_range_chart.png
http://www.achartengine.org/dimages/combined_chart.png
http://www.achartengine.org/dimages/budget_chart.png
官網網址:http://www.achartengine.org/
APP 示例:Wordpress Android,Google Analytics

GraphView
繪製圖表和曲線圖的 View,可用於 Android 上的曲形圖、柱狀圖、波浪圖展示
專案地址:https://github.com/jjoe64/GraphView
Demo 專案:https://github.com/jjoe64/GraphView-Demos
APP 示例:Wordpress Android,Google Analytics

HoloGraphLibrary
繪製現狀圖、柱狀圖、餅狀圖
專案地址:https://bitbucket.org/danielnadeau/holographlibrary/src
文件介紹:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home

XCL-Charts
XCL-Charts 基於原生的 Canvas 來繪製各種圖表,在設計時,儘量在保證開發效率的同時,給使用者提供足夠多的定製化能力。因此使用簡便,同時具有相當靈活的定製能力。目前支援 3D/非 3D 柱形圖(Bar Chart)、3D/非 3D 餅圖(Pie Chart)、堆積圖(Stacked Bar Chart)、面積圖(Area Chart)、 折線圖(Line Chart)、曲線圖(Spline Chart)、環形圖(Dount Chart)、南丁格爾玫瑰圖(Rose Chart)、儀表盤(Dial Chart)、刻度盤(Gauge Chart)、雷達圖(Radar Chart)、圓形圖(Circle Chart)等圖表。其它特性還包括支援圖表縮放、手勢移動、動畫顯示效果、高密度柱形顯示、圖表分界定製線、多圖表的混合顯示及同資料來源不同型別圖表切換等。
專案地址:https://github.com/xcltapestry/XCL-Charts
Demo 地址:https://github.com/xcltapestry/XCL-Charts/blob/master/XCL-Charts-demo/bin/XCL-Charts-demo.apk?raw=true

EazeGraph
Android 圖表庫,支援柱狀圖、分層柱狀圖、餅狀圖、線性圖
專案地址:https://github.com/blackfizz/EazeGraph
Demo 地址:https://play.google.com/store/apps/details?id=org.eazegraph.app

WilliamChart
繪製圖表的庫,支援 LineChartView、BarChartView 和 StackBarChartView 三中圖表型別,並且支援 Android 2.2 及以上的系統。
專案地址:https://github.com/diogobernardino/WilliamChart
Demo 地址:https://play.google.com/store/apps/details?id=com.db.williamchartdemo
Demo 專案:https://github.com/diogobernardino/WilliamChart/tree/master/sample
效果圖:RenderingsRenderingsRenderings

HelloCharts for Android
支援折線圖、柱狀圖、餅圖、氣泡圖、組合圖;支援預覽、放大縮小,滾動,部分圖表支援動畫;支援 Android 2.2 以上
專案地址:https://github.com/lecho/hellocharts-android
Demo 地址:https://play.google.com/store/apps/details?id=lecho.lib.hellocharts.samples
線上演示:https://www.youtube.com/watch?v=xbSBjyjH2SY

十五、UI Style

不同樣式的系統 UI 風格,如 IOS、Bootstrap 風格

UITableView
ios 風格控制元件,包括 Button、ListView、TableView
專案地址:https://github.com/thiagolocatelli/android-uitableview
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/ui-tableview-demo.apk?raw=true

ATableView
ios 風格控制元件
專案地址:https://github.com/dmacosta/ATableView
Demo 地址:https://play.google.com/store/apps/details?id=com.nakardo.atableview.demo

Cards-UI
卡片式 View,支援單個卡片,item 為卡片的 ListView
專案地址:https://github.com/afollestad/Cards-UI
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/cards-ui-demo.apk?raw=true

cardslib
卡片式 View,支援單個卡片,item 為卡片的 ListView 和 GridView
專案地址:https://github.com/gabrielemariotti/cardslib
Demo 地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demo

Android-Bootstrap
Bootstrap 風格的按鈕
專案地址:https://github.com/Bearded-Hen/Android-Bootstrap
效果圖:Renderings

Material Design Android Library
Android L 中 Material Design 風格的元件適配到 Android 2.2+
專案地址:https://github.com/navasmdc/MaterialDesignLibrary

Android FlatUI
Android 扁平化風格的元件,支援一些自定義樣式
專案地址:https://github.com/eluleci/FlatUI
效果圖:Renderings

cheesesquare
全新 Android 設計庫演示 Demo,包括 Collapsing Toolbar、FloatingActionButton、View anchoring、NavigationView、Snackbar
專案地址:https://github.com/chrisbanes/cheesesquare
效果圖:Renderings

十六、其他

SwipeBackLayout
左右或向上滑動返回的 Activity
專案地址:https://github.com/Issacw0ng/SwipeBackLayout
Demo 地址:https://play.google.com/store/apps/details?id=me.imid.swipebacklayout.demo
APP 示例:知乎

android-styled-dialogs
可自定義樣式的 dialog,預設與 Holo 主題樣式一致,在 Android2.2 以上同一樣式
專案地址:https://github.com/inmite/android-styled-dialogs
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/styled-dialogs-demo.apk?raw=true

Android Sliding Up Panel
可拖動的 View,能在當前 Activity 上扶起一個可拖動的 Panel
專案地址:https://github.com/umano/AndroidSlidingUpPanel
Demo 地址:https://play.google.com/store/apps/details?id=com.sothree.umano
APP 示例:Google Music 精簡播放欄

TableFixHeaders
第一列固定的 Table
專案地址:https://github.com/InQBarna/TableFixHeaders
Demo 地址:http://bit.ly/13buAIq

Inscription
可用於展示應用 change 和 new feature 資訊
專案地址:https://github.com/MartinvanZ/Inscription

ActivityTransition
Activity 切換動畫,包括漸變、flip、某個位置進入等等
專案地址:https://github.com/ophilbert/ActivityTransition
文件介紹:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true

EasyAndroidAnimations
針對 View 的各種動畫
專案地址:https://github.com/2359media/EasyAndroidAnimations

ViewAnimation
對android view 動畫進行封裝,實現起更簡單,自帶三種常見運動路徑,其他的可自定義
專案地址:https://github.com/guohuanwen/ViewAniamtion
效果圖:ViewAnimation
APP 示例:QQ名片圈圈效果

AndroidLoadingAnimation
多種android載入動畫
專案地址:https://github.com/guohuanwen/AndroidLoadingAnimation
效果圖:TaiJIView

android-lockpattern
Android 的圖案密碼解鎖
專案地址:https://code.google.com/p/android-lockpattern/
原理剖析文件:android-lockpattern
Demo 地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo
文件介紹:https://code.google.com/p/android-lockpattern/wiki/QuickUse
APP 示例:Android 開機的圖案密碼解鎖,支付寶的密碼解鎖

PatternLock
另一個 Android 圖案解鎖庫
專案地址:https://github.com/DreaminginCodeZH/PatternLock
Demo 地址:https://github.com/DreaminginCodeZH/PatternLock/raw/master/dist/sample.apk
效果圖:Renderings
APP 示例:Android 開機的圖案密碼解鎖,支付寶的密碼解鎖

RangeBar
類似於 SeekBar,不同的是可以選擇一個範圍內的值而不是單個值
專案地址:https://github.com/edmodo/range-bar
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/range-bar-demo.apk?raw=true
效果圖:Renderings

ChromeView
利用 Chromium 實現的 WebView,解決各個 Android 版本 WebView 不同的問題,同時利用最新 Chrome 程式碼
專案地址:https://github.com/pwnall/chromeview

android-phased-seek-bar
支援預先定義狀態的 SeekBar
專案地址:https://github.com/ademar111190/android-phased-seek-bar
效果圖:Renderings

Android Slider Preference Library
可新增到設定中的基於對話方塊的 RankBar 小部件
專案地址:https://github.com/jayschwa/AndroidSliderPreference

ShowcaseView library
用於高亮顯示應用程式的特定部分,從而突出突出重點
專案地址:https://github.com/amlcurran/ShowcaseView

android-segmented-control
Android 上的 Segmented Controls,相當於 RadioButton 組
專案地址:https://github.com/hoang8f/android-segmented-control

Swipeable Cards
類似 Tinder 的卡片效果,可以載入圖片並動畫效果展示,向左滑動表示喜歡,向右表示不喜歡
專案地址:https://github.com/kikoso/Swipeable-Cards
Demo 地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demo

EdgeEffectOverride
改變 ScrollView, ListView, ExpandableListView, GridView, ViewPager 等滾動控制元件滾動到邊緣的顏色效果
專案地址:https://github.com/AndroidAlliance/EdgeEffectOverride

android-pinned-header-listviews
使 ExpandListView 的 Group 滑動到頂端時會固定不動直到另外一個 Group 到達頂端
專案地址:https://github.com/rtyley/android-pinned-header-listviews

AndroidSwipeLayout
滑動 Layout,支援單個 View,ListView,GridView
專案地址:https://github.com/daimajia/AndroidSwipeLayout
Demo 地址:Download Demo
效果圖:Renderings

DynamicCardLayout
在 Android 中實現的類似 Windows8 的瓷片佈局
專案地址:https://github.com/dodola/DynamicCardLayout
效果圖:Renderings

Emoticons-Keyboard
帶表情情符號的自定義鍵盤
專案地址:https://github.com/chiragjain/Emoticons-Keyboard
效果圖:Renderings

Android Typeface Helper
可以幫你輕鬆實現自定義字型的庫
專案地址:https://github.com/norbsoft/android-typeface-helper
效果圖:Renderings

Android-Anim-Playground
幾個動畫效果,其中第二個基於 android-svg 的繪製效果非常好
專案地址:https://github.com/Tibolte/Android-Anim-Playground
效果圖:Renderings

AlertView 仿iOS的AlertViewController 幾乎完美還原iOS 的 AlertViewController ,同時支援Alert和ActionSheet模式,每一個細節都是精雕細琢,並把api封裝成懶到極致模式,一行程式碼就可以進行彈窗.
專案地址:https://github.com/saiwu-bigkoo/Android-AlertView
效果圖:Renderings

NiftyDialogEffects
支援自定義飛入動畫樣式的 Dialog
專案地址:https://github.com/sd6352051/NiftyDialogEffects
效果圖:Renderings
線上演示:http://tympanus.net/Development/ModalWindowEffects/

PostOffice
建立 Holo 及 Material Design 樣式的 Dialog
專案地址:https://github.com/r0adkll/PostOffice
效果圖:Renderings

Swipecards
類似 Tinder 的卡片效果,可以載入圖片並動畫效果展示,向左滑動表示喜歡,向右表示不喜歡,根據 Kikoso's Swipeable-Cards 改造而來
專案地址:https://github.com/Diolor/Swipecards

SeekArc
圓形的 SeekBar
專案地址:https://github.com/TriggerTrap/SeekArc
效果圖:Renderings

BlurDialogFragment
顯示 DialogFragment 時背景模糊效果
專案地址:https://github.com/tvbarthel/BlurDialogFragment
Demo 地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.lib.blurdialogfragment.sample

range-seek-bar
隨機值選取的 SeekBar
專案地址:https://github.com/yahoo/android-range-seek-bar
效果圖:Renderings

MaterialRangeBar
可以選擇一個範圍內的值而不是單個值的 SeekBar,RangeBar 的 Material Design 風格適配
專案地址:https://github.com/oli107/material-range-bar
效果圖:Renderings

MaterialList
Material Design 風格的 CardView
專案地址:https://github.com/dexafree/MaterialList
Demo 地址:https://play.google.com/store/apps/details?id=com.dexafree.materiallistviewexample
效果圖:Renderings

road-trip
設定 path 的各種動畫效果,以及如何實現複雜路徑動畫,類似於 ios 中的指紋註冊介面的指紋動畫效果
專案地址:https://github.com/romainguy/road-trip
效果圖:Renderings

dialogplus
一個簡單的 Android 對話方塊,支援不同的彈出模式
專案地址:https://github.com/orhanobut/dialogplus
效果圖:Renderings

FlowLayout
一個簡單的流式佈局,用法類似 LinearLayout,但是能夠讓子元素根據寬度自動換行
專案地址:FLowLayout
效果圖:Renderings

第二部分 工具庫

主要包括那些不錯的開發庫,包括依賴注入框架、圖片快取、網路請求、資料庫 ORM 建模、Android 公共庫、Android 高版本向低版本相容、多媒體相關及其他。
一、依賴注入 DI

通過依賴注入減少 View、服務、資源簡化初始化,事件繫結等重複繁瑣工作

AndroidAnnotations(Code Diet)
android 快速開發框架
專案地址:https://github.com/excilys/androidannotations
文件介紹:ht