Android 開源項目分類彙總

Android 開源項目分類彙總


Android 開源項目源碼解析(Volley、UIL、Dagger、EventBus、插件化庫等分析)

Android 職位內部推薦(阿里、騰訊、百度、京東、滴滴、美團、58、華爲、網易、魅族等)


目前包括:

Android 開源項目第一篇——個性化控件(View)篇
  包括ListViewActionBarMenuViewPagerGalleryGridViewImageViewProgressBarTextViewScrollViewTimeViewTipViewFlipViewColorPickViewGraphViewUI 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

  1. 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 示例:新浪微博各個頁面

  2. 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

  3. 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

  4. 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

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

  6. 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

  7. 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

  8. RecyclerViewSwipeDismiss
    輕量級支持 support-v7 中的 RecyclerView 的滑動刪除(Swipe to dismiss)行爲,不需要修改源代碼,只要簡單的綁定onTouchListener
    項目地址:https://github.com/CodeFalling/RecyclerViewSwipeDismiss
    效果圖:Renderings

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

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

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

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

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

  14. 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

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

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

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

  18. 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

  19. 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/

  20. 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

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

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

  23. HorizontalVariableListView
    支持 Item 寬度不一致的 ListView
    項目地址:https://github.com/sephiroth74/HorizontalVariableListView

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

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

  26. 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

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

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

  29. PagingListView
    分頁加載的 ListView。當滑動到 ListView 底部最後一個元素時,顯示一個進度行,然後加載下一頁數據,並顯示。
    項目地址:https://github.com/nicolasjafelle/PagingListView

  30. PullZoomView
    支持下拉時 HeaderView 縮放的 ListView、ScrollView
    項目地址:https://github.com/Frank-Zhu/PullZoomView
    效果圖:Renderings

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

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

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

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

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

  36. PagedHeadListView
    支持 paginated header 以及 material page indicator 的 ListView.
    項目地址:https://github.com/JorgeCastilloPrz/PagedHeadListView
    效果圖:Renderings

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

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

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

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

  41. FlyRefresh
    支持 ListView, GridView, RecyclerView, ScrollView 的下拉刷新
    項目地址:https://github.com/race604/FlyRefresh
    效果圖:Renderings

  42. 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

  43. 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

  44. WaterDropListView
    模仿 iOS 下拉刷新“水滴”效果,支持下拉刷新和上拉加載
    項目地址:https://github.com/THEONE10211024/WaterDropListView
    效果圖:Renderings

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

  46. CircleRefreshLayout
    一個包含有趣的動畫的自定義下拉刷新佈局
    項目地址:https://github.com/tuesda/CircleRefreshLayout
    效果圖:
    Renderings

  47. EasyRecyclerView
    一款簡單易用的EasyRecyclerView 1.提供EasyRecyclerView,不需要寫太多RecyclerView的配置代碼
    2.提供好一個可以適配單佈局和多佈局的RecyclerViewAdapter
    3.提供了分割線的實現類,只需要傳入一個DrawableId
    項目地址:https://github.com/CaMnter/EasyRecyclerView

二、ActionBar

  1. 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

  2. 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,知乎等

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

  4. 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 音樂

  5. 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

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

三、Menu

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

  2. 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

  3. 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

  4. 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

  5. radial-menu-widget
    圓形菜單,支持二級菜單
    項目地址:https://code.google.com/p/radial-menu-widget/
    效果圖:Renderings

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

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

  8. AndroidResideMenu
    仿 Dribbble 的邊欄菜單
    項目地址:https://github.com/SpecialCyCi/AndroidResideMenu
    效果圖:Renderings

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

  10. 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

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

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

  13. Floating Action Button
    懸浮的圓形菜單欄,支持組建滾動時自動隱藏及其他設置
    項目地址:https://github.com/shamanland/floating-action-button
    效果圖:Renderings

  14. Side-Menu.Android
    分類側滑菜單,Yalantis 出品。
    項目地址:https://github.com/Yalantis/Side-Menu.Android
    原理剖析文檔:Side-Menu.Android
    效果圖:Renderings

  15. Context-Menu.Android
    可以方便快速集成漂亮帶有動畫效果的上下文菜單,Yalantis出品。
    項目地址:https://github.com/Yalantis/Context-Menu.Android
    效果圖:Renderings

  16. Droppy
    支持多種樣式的下拉菜單
    項目地址:https://github.com/shehabic/Droppy

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

  18. SlideBottomPanel
    底部劃出菜單,滑動時背景圖透明度漸變,支持嵌套 LiewView 或 ScrollView
    項目地址:https://github.com/kingideayou/SlideBottomPanel
    Demo 地址:SlideBottomPanelDemo 下載
    效果圖:Renderings

四、ViewPager 、Gallery

  1. ConvenientBanner
    通用的廣告欄控件,讓你輕鬆實現廣告頭效果。支持無限循環,可以設置自動翻頁和時間(而且非常智能,手指觸碰則暫停翻頁,離開自動開始翻頁。你也可以設置在界面onPause的時候不進行自動翻頁,onResume之後繼續自動翻頁),並且提供多種翻頁特效。 對比其他廣告欄控件,大多都需要對源碼進行改動才能加載網絡圖片,或者幫你集成不是你所需要的圖片緩存庫。而這個庫能讓有代碼潔癖的你歡喜,不需要對庫源碼進行修改你就可以使用任何你喜歡的網絡圖片庫進行配合。 項目地址:https://github.com/saiwu-bigkoo/Android-ConvenientBanner
    效果圖:Renderings

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

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

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

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

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

  7. 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 示例:類似微信中查看聊天記錄圖片時可雙擊放大,並且放大情況下能正常左右滑動到前後圖片

  8. 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/

  9. 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

  10. ViewPager3D
    ViewPager3D 效果
    項目地址:https://github.com/inovex/ViewPager3D

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

  12. LoopingViewPager
    無限循環的 ViewPager
    項目地址:https://github.com/imbryk/LoopingViewPager

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

  14. ViewPagerIndicator
    簡化並實現 android 的 TabHost 效果,頂部滑動 tab,引導頁,支持自定義 tab 樣式,自定義滑動塊樣式和位置,自定義切換 tab 的過渡動畫,子界面的預加載和界面緩存,設置界面是否可滑動
    項目地址:https://github.com/LuckyJayce/ViewPagerIndicator

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

  16. 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

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

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

  19. CircleIndicator
    輕量級ViewPager指示器,支持三種不同的模式
    項目地址:CircleIndicator
    效果圖:Renderings
    Renderings
    Renderings

  20. EasySlidingTabs
    一款簡單、易用的滑動標籤頁
    項目地址: https://github.com/CaMnter/EasySlidingTabs
    效果圖:
    Renderings

五、GridView

  1. 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 等

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

  3. PinterestLikeAdapterView
    允許非對齊行的 GridView,類似 Pinterest 的瀑布流,允許下拉刷新
    項目地址:https://github.com/GDG-Korea/PinterestLikeAdapterView
    APP 示例:Pinterest 等

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

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

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

  7. 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

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

  9. PagingGridView
    分頁加載的 GridView。當滑動到 GridView 底部最後一個行時,顯示一個進度行,然後加載下一頁數據,並顯示。
    項目地址:https://github.com/nicolasjafelle/PagingGridView

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

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

六、ImageView

  1. 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

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

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

  4. RoundedImageView
    帶圓角的 ImageView
    項目地址:https://github.com/vinc3m1/RoundedImageView
    效果圖:Renderings

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

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

  7. CircleImageView
    圓形的 ImageView
    項目地址:https://github.com/hdodenhof/CircleImageView
    效果圖:Renderings

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

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

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

  11. 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

  12. TextDrawable
    一個用於生成帶有文本或者字母的圖片的輕量級庫。擴展自 Drawable,因此可用於現有/自定義/網絡等 ImageView 類,並且包含一個流接口用於創建 drawables 以及一個定製的 ColorGenerator
    項目地址:https://github.com/amulyakhare/TextDrawable
    效果圖:Renderings

  13. android-smart-image-view
    可從 URL 或 contact address book 加載圖片的 ImageView,支持緩存
    項目地址:https://github.com/loopj/android-smart-image-view

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

七、ProgressBar

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

  2. MaterialProgessBar
    Material Design 的進度條,支持 Android 4.0
    項目地址:https://github.com/DreaminginCodeZH/MaterialProgressBar
    Demo 地址:https://github.com/DreaminginCodeZH/MaterialProgressBar/blob/master/dist/sample.apk

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

  4. 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

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

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

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

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

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

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

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

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

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

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

  15. MetaballLoading
    A 2d metaball loading 項目地址:https://github.com/dodola/MetaballLoading 效果圖:Renderings 效果圖:Renderings

  16. SectorProgressView
    一個圓形或環形的進度顯示控件,用圓中扇形的角度大小來表示進度信息
    項目地址:https://github.com/timqi/SectorProgressView
    Demo:apk download 
    效果圖:
    ColorfulRingProgressView SectorProgressView

  17. CircularFillableLoaders
    一個可以用於閃屏或者其他地方加載的控件
    項目地址:https://github.com/lopspower/CircularFillableLoaders
    Demo地址:(https://play.google.com/store/apps/details?id=com.mikhaellopez.circularfillableloaderssample
    效果圖:
    CircularFillableLoadersCircularFillableLoaders

八、TextView

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

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

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

  3. Emojicon
    支持 emojis 的 TextView 和 EditText
    項目地址:https://github.com/rockerhieu/emojicon
    文檔介紹:http://rockerhieu.com/emojicon/

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

  5. 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

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

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

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

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

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

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

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

  13. android-process-buton
    帶加載或提交進度的 Button
    項目地址:https://github.com/dmytrodanylyk/android-process-buton

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

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

  16. Android Saripaar
    Android 表單驗證
    項目地址:https://github.com/ragunathjawahar/android-saripaar/

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

  18. 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

  19. 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

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

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

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

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

palette效果: Renderings

  1. 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

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

  3. MaterialEditText
    實現 Material Design 中 Ripple 效果線條背景的 EditText。直接替換原生 EditText 即可集成。
    項目地址:https://github.com/DreamingInCodeZH/MaterialEditText

  4. MultiActionTextView
    可以分別給 TextView 中的某幾個字設置點擊事件的 TextView
    項目地址:https://github.com/ajaysahani/MultiActionTextView
    效果圖:Renderings

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

  6. SwitchButton
    狀態切換的 Button,類似 iOS,擁有良好的用戶界面
    項目地址:https://github.com/kyleduo/SwitchButton
    效果圖:Renderings

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

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

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

  10. BubbleTextView Android Bubble View 項目地址:https://github.com/dupengtao/BubbleTextView 效果圖:Renderings

  11. shadow-layout Android Shadow Layout 解決了CardView:1.不能畫圓的陰影。2.設置陰影的位置。3.設置陰影顏色。 項目地址:https://github.com/dmytrodanylyk/shadow-layout 效果圖: Renderings

九、ScrollView

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

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

  3. 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

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

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

  6. 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

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

十、TimeView

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

  1. 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

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

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

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

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

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

  7. Android Week View
    日期控件,支持周,天視圖,支持自定義樣式
    項目地址:https://github.com/alamkanak/Android-Week-View
    效果圖:Renderings

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

  9. CountdownView
    Android 倒計時控件,使用Canvas繪製,支持多種樣式
    項目地址:https://github.com/iwgang/CountdownView
    效果圖:Renderings

十一、TipView

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

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

  2. 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

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

  4. Android ViewBadger
    爲其他 View 添加角標(消息圓點)等
    項目地址:https://github.com/jgilfelt/android-viewbadger
    Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/android-viewbadger.apk?raw=true
    效果圖:Renderings

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

  6. UndoBar
    屏幕底部顯示取消或是確認的 PopupWindows
    項目地址:https://github.com/soarcn/UndoBar
    效果圖:Renderings

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

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

  9. 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

  10. 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

  1. 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

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

  3. FoldableLayout
    Flip 翻轉效果的 ListView,目前還不支持 ListView 緩存
    項目地址:https://github.com/alexvasilkov/FoldableLayout
    Demo 地址:http://play.google.com/store/apps/details?id=com.alexvasilkov.foldablelayout.sample

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

十三、ColorPickView

  1. ColorPickerView
    顏色選擇器,支持 PopupWindows 或新的 Activity 中打開
    項目地址:https://code.google.com/p/color-picker-view/
    效果圖:Renderings

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

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

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

十四、GraphView

  1. 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

  2. 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

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

  4. HoloGraphLibrary
    繪製現狀圖、柱狀圖、餅狀圖
    項目地址:https://bitbucket.org/danielnadeau/holographlibrary/src
    文檔介紹:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home

  5. 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

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

  7. 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

  8. 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 風格

  1. 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

  2. ATableView
    ios 風格控件
    項目地址:https://github.com/dmacosta/ATableView
    Demo 地址:https://play.google.com/store/apps/details?id=com.nakardo.atableview.demo

  3. 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

  4. cardslib
    卡片式 View,支持單個卡片,item 爲卡片的 ListView 和 GridView
    項目地址:https://github.com/gabrielemariotti/cardslib
    Demo 地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demo

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

  6. Material Design Android Library
    Android L 中 Material Design 風格的組件適配到 Android 2.2+
    項目地址:https://github.com/navasmdc/MaterialDesignLibrary

  7. Android FlatUI
    Android 扁平化風格的組件,支持一些自定義樣式
    項目地址:https://github.com/eluleci/FlatUI
    效果圖:Renderings

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

十六、其他

  1. SnappingStepper
    一種漂亮的UI控件,能更靈活的控制數字的增減。可用於購物車商品數量控制。
    項目地址:https://github.com/saiwu-bigkoo/Android-SnappingStepper
    效果圖:Renderings

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

  3. 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

  4. 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 精簡播放欄

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

  6. Inscription
    可用於展示應用 change 和 new feature 信息
    項目地址:https://github.com/MartinvanZ/Inscription

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

  8. EasyAndroidAnimations
    針對 View 的各種動畫
    項目地址:https://github.com/2359media/EasyAndroidAnimations

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

  10. AndroidLoadingAnimation
    多種android加載動畫
    項目地址:https://github.com/guohuanwen/AndroidLoadingAnimation
    效果圖:TaiJIView

  11. 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 開機的圖案密碼解鎖,支付寶的密碼解鎖

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

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

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

  15. android-phased-seek-bar
    支持預先定義狀態的 SeekBar
    項目地址:https://github.com/ademar111190/android-phased-seek-bar
    效果圖:Renderings

  16. Android Slider Preference Library
    可添加到設置中的基於對話框的 RankBar 小部件
    項目地址:https://github.com/jayschwa/AndroidSliderPreference

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

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

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

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

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

  22. AndroidSwipeLayout
    滑動 Layout,支持單個 View,ListView,GridView
    項目地址:https://github.com/daimajia/AndroidSwipeLayout
    Demo 地址:Download Demo
    效果圖:Renderings

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

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

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

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

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

  28. NiftyDialogEffects
    支持自定義飛入動畫樣式的 Dialog
    項目地址:https://github.com/sd6352051/NiftyDialogEffects
    效果圖:Renderings
    在線演示:http://tympanus.net/Development/ModalWindowEffects/

  29. PostOffice
    創建 Holo 及 Material Design 樣式的 Dialog
    項目地址:https://github.com/r0adkll/PostOffice
    效果圖:Renderings

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

  31. SeekArc
    圓形的 SeekBar
    項目地址:https://github.com/TriggerTrap/SeekArc
    效果圖:Renderings

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

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

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

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

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

  37. dialogplus
    一個簡單的 Android 對話框,支持不同的彈出模式
    項目地址:https://github.com/orhanobut/dialogplus
    效果圖:Renderings

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

  39. CircleSeekbar
    一個環形Seekbar組件,支持疊加複合使用
    項目地址:CircleSeekbar
    效果圖:
    Renderings Renderings

  40. FinestWebView
    美麗的和可定製的Android的活動,顯示在一個應用程序的網頁。
    項目地址: https://github.com/TheFinestArtist/FinestWebView-Android
    Sample 地址: https://play.google.com/store/apps/details?id=com.thefinestartist.finestwebview.sample
    效果圖: Renderings

  41. YouTubePlayerActivity
    只需通過一個URL來在新的活動播放YouTube視頻。它支持屏幕方向,媒體音量控制等。
    項目地址: https://github.com/TheFinestArtist/YouTubePlayerActivity
    Sample 地址: https://play.google.com/store/apps/details?id=com.thefinestartist.ytpa.sample
    效果圖: Renderings

  42. material-camera
    material風格的camera。能使camera使用起來更簡單的庫。
    項目地址:https://github.com/afollestad/material-camera
    效果圖:
    Renderings

  43. material-dialogs
    各種material風格的dialog。 漂亮的的、易於使用的和可定製的Dialog API,你能夠使用Material designed風格的Dialog到API 8。
    項目地址:https://github.com/afollestad/material-dialogs
    Sample地址:https://github.com/afollestad/material-dialogs/blob/master/sample/sample.apk
    效果圖:
    Renderings

  44. NotifyUtil
    最常見的通知樣式庫
    項目地址:https://github.com/wenmingvs/NotifyUtil
    demo地址:https://github.com/wenmingvs/NotifyUtil#notifydemo

第二部分 工具庫

主要包括那些不錯的開發庫,包括依賴注入框架、圖片緩存、網絡請求、數據庫 ORM 建模、Android 公共庫、Android 高版本向低版本兼容、多媒體相關及其他。

一、依賴注入 DI

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

  1. AndroidAnnotations(Code Diet)
    android 快速開發框架
    項目地址:https://github.com/excilys/androidannotations
    文檔介紹:https://github.com/excilys/androidannotations/wiki
    官網網址:http://androidannotations.org/
    特點:(1) 依賴注入:包括 view,extras,系統服務,資源等等
    (2) 簡單的線程模型,通過 annotation 表示方法運行在 ui 線程還是後臺線程
    (3) 事件綁定:通過 annotation 表示 view 的響應事件,不用在寫內部類
    (4) REST 客戶端:定義客戶端接口,自動生成 REST 請求的實現
    (5) 沒有你想象的複雜:AndroidAnnotations 只是在在編譯時生成相應子類
    (6) 不影響應用性能:僅 50kb,在編譯時完成,不會對運行時有性能影響。
    其他:與 roboguice 的比較:roboguice 通過運行時讀取 annotations 進行反射,所以可能影響應用性能,而 AndroidAnnotations 在編譯時生成子類,所以對性能沒有影響

  2. roboguice
    幫你處理了很多代碼異常,利用 annotation 使得更少的代碼完成項目
    項目地址:https://github.com/roboguice/roboguice
    文檔介紹:https://github.com/roboguice/roboguice/wiki

  3. butterknife
    利用 annotation 幫你快速完成 View 的初始化,減少代碼
    項目地址:https://github.com/JakeWharton/butterknife
    文檔介紹:http://jakewharton.github.io/butterknife/

  4. Dagger
    依賴注入,適用於 Android 和 Java
    項目地址:https://github.com/square/dagger
    原理剖析文檔:Dagger
    文檔介紹:http://square.github.io/dagger/

二、圖片緩存

  1. Android-Universal-Image-Loader
    圖片緩存,目前使用最廣泛的圖片緩存,支持主流圖片緩存的絕大多數特性。
    項目地址:https://github.com/nostra13/Android-Universal-Image-Loader
    原理剖析文檔:Android-Universal-Image-Loader
    Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true
    文檔介紹:http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html

  2. picasso
    square 開源的圖片緩存
    項目地址:https://github.com/square/picasso
    文檔介紹:http://square.github.io/picasso/
    特點:(1)可以自動檢測 adapter 的重用並取消之前的下載
    (2)圖片變換
    (3)可以加載本地資源
    (4)可以設置佔位資源
    (5)支持 debug 模式

  3. Cube ImageLoader
    阿里巴巴一淘使用的圖片加載,綜合了 Android-Universal-Image-Loader 和 square 等組件優點,簡單易用,良好的中文文檔支持
    項目地址:https://github.com/etao-open-source/cube-sdk
    Demo 地址:https://github.com/liaohuqiu/cube-sdk/raw/master/cube-sdk-sample.apk
    文檔介紹:http://cube-sdk.liaohuqiu.net/
    效果圖:Renderings

  4. fresco
    一款強大的圖片緩存工具,由 Facebook 開發
    項目地址:https://github.com/facebook/fresco
    文檔介紹:http://frescolib.org/
    特點:(1) 兩個內存緩存加上磁盤緩存構成了三級緩存
    (2) 支持流式,可以類似網頁上模糊漸進式顯示圖片
    (3) 對多幀動畫圖片支持更好,如 Gif、WebP
    (4) 更多樣的顯示,如圓角、進度條、點擊重試、自定義對焦點
    (5) 更多樣的加載,如支持 EXIF、全面支持 WebP
    (6) 支持 Android 2.3+

  5. Glide
    Glide 是一個 android 平臺上的快速和高效的開源的多媒體資源管理庫,提供 多媒體文件的壓縮,內存和磁盤緩存, 資源池的接口。
    它可以最大性能地在 Android 設備上讀取、解碼、顯示圖片和視頻。Glide 可以將遠程的圖片、視頻、動畫圖片等緩存在設備本地便於提高用戶瀏覽圖片的流暢體驗。
    項目地址:https://github.com/bumptech/glide
    特點:
    (1) GIF 動畫的解碼
    (2) 本地視頻劇照的解碼
    (3) 支持縮略圖
    (4) Activity 生命週期的集成
    (5) 轉碼的支持
    (6) 動畫的支持
    (7) OkHttp 和 Volley 的支持

三、網絡請求

  1. Volley
    Google 提供的網絡通信庫,使得網絡請求更簡單、更快速
    項目地址:https://android.googlesource.com/platform/frameworks/volley
    文檔介紹:http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdf

  2. Asynchronous Http Client for Android
    Android 異步 Http 請求
    項目地址:https://github.com/loopj/android-async-http
    文檔介紹:http://loopj.com/android-async-http/
    特點:(1) 在匿名回調中處理請求結果
    (2) 在 UI 線程外進行 http 請求
    (3) 文件斷點上傳
    (4) 智能重試
    (5) 默認 gzip 壓縮
    (6) 支持解析成 Json 格式
    (7) 可將 Cookies 持久化到 SharedPreferences

  3. android-query
    異步加載,更少代碼完成 Android 加載
    項目地址:https://github.com/androidquery/androidquery 或 https://code.google.com/p/android-query/
    Demo 地址:https://play.google.com/store/apps/details?id=com.androidquery
    文檔介紹:https://code.google.com/p/android-query/#Why_AQuery?
    特點:https://code.google.com/p/android-query/#Why_AQuery?

  4. Async Http Client
    Java 異步 Http 請求
    項目地址:https://github.com/AsyncHttpClient/async-http-client
    文檔介紹:http://sonatype.github.io/async-http-client/

  5. Ion
    支持圖片、json、http post 等異步請求
    項目地址:https://github.com/koush/ion
    文檔介紹:https://github.com/koush/ion#more-examples

  6. Http Request
    項目地址:https://github.com/kevinsawicki/http-request
    文檔介紹:https://github.com/kevinsawicki/http-request#examples

  7. okhttp
    square 開源的 http 工具類
    項目地址:https://github.com/square/okhttp
    文檔介紹:http://square.github.io/okhttp/
    特點:(1) 支持 SPDY( http://zh.wikipedia.org/wiki/SPDY )協議。SPDY 協議是 Google 開發的基於傳輸控制協議的應用層協議,通過壓縮,多路複用(一個 TCP 鏈接傳送網頁和圖片等資源)和優先級來縮短加載時間。
    (2) 如果 SPDY 不可用,利用連接池減少請求延遲
    (3) Gzip 壓縮
    (4) Response 緩存減少不必要的請求

  8. Retrofit
    RESTFUL API 設計
    項目地址:https://github.com/square/retrofit
    文檔介紹:http://square.github.io/retrofit/

  9. RoboSpice
    Android 異步網絡請求工具,支持緩存、REST 等等
    項目地址:https://github.com/stephanenicolas/robospice
    Demo 地址:https://github.com/stephanenicolas/RoboDemo/downloads

  10. TwistVolley
    TwistVolley 是對 Volley 的一個封裝庫。提供類似 Picasso 一樣的串聯式 API。使得使用 Volley 更加方便。
    項目地址:https://github.com/TwistedEquations/TwistVolley

四、數據庫 orm 工具包

orm 的 db 工具類,簡化建表、查詢、更新、插入、事務、索引的操作

  1. greenDAO
    Android Sqlite orm 的 db 工具類
    項目地址:https://github.com/greenrobot/greenDAO
    文檔介紹:http://greendao-orm.com/documentation/
    官網網址:http://greendao-orm.com/
    特點:(1) 性能佳
    (2) 簡單易用的 API
    (3) 內存小好小
    (4) 庫大小小

  2. ActiveAndroid
    Android Sqlite orm 的 db 工具類
    項目地址:https://github.com/pardom/ActiveAndroid
    文檔介紹:https://github.com/pardom/ActiveAndroid/wiki/_pages

  3. Sprinkles
    Android Sqlite orm 的 db 工具類,比較顯著的特點就是配合 https://github.com/square/retrofit 能保存從服務器獲取的數據
    項目地址:https://github.com/emilsjolander/sprinkles
    文檔介紹:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/

  4. Realm
    移動端的數據庫,適用於 Phone、Tablet、Wearable,支持 ORM,線程安全、支持連表及數據庫加密,比 SQLite 性能更好
    項目地址:https://github.com/realm/realm-java
    文檔介紹:http://realm.io/docs/java/0.72.0/

  5. ormlite-android
    項目地址:https://github.com/j256/ormlite-android
    文檔介紹:http://ormlite.com/sqlite_java_android_orm.shtml

  6. Schematic
    根據 SQLite 生成 ContentProvider
    項目地址:https://github.com/SimonVT/schematic

  7. DBFlow
    Android SQLite ORM 工具庫。綜合了 Active Android, Schematic, Ollie,Sprinkles 等庫的優點;通過註解實現,性能好;能生成 ContentProvider。
    項目地址:https://github.com/Raizlabs/DBFlow
    文檔介紹:https://github.com/Raizlabs/DBFlow#usage-docs

  8. SnappyDB SnappyDB是一個key-value數據庫,非常流行的NoSQL數據庫。 項目地址:https://github.com/nhachicha/SnappyDB 演示Demo:https://play.google.com/store/apps/details?id=com.snappydb.snippets.app 性能對比圖: Renderings

五、Android 公共庫

  1. Guava
    Google 的基於 java1.6 的類庫集合的擴展項目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O 等等. 這些高質量的 API 可以使你的 JAVa 代碼更加優雅,更加簡潔
    項目地址:https://code.google.com/p/guava-libraries/
    文檔介紹:https://code.google.com/p/guava-libraries/wiki/GuavaExplained

  2. AndroidCommon
    Android 公共庫
    項目地址:https://github.com/Trinea/AndroidCommon
    Demo 地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文檔介紹:http://www.trinea.cn/android/android-common-lib/
    包括:a. ImageCache 圖片緩存,包含內存和 Sdcard 緩存
    http://www.trinea.cn/android/android-imagecache/
    特點:(1)支持預取新圖片,支持等待隊列
    (2)包含二級緩存,可自定義文件名保存規則
    (3)可選擇多種緩存算法(FIFO、LIFO、LRU、MRU、LFU、MFU 等 13 種)或自定義緩存算法
    (4)可方便的保存及初始化恢復數據
    (5)支持不同類型網絡處理
    (6)可根據系統配置初始化緩存等

  3. HttpCache Http 緩存
    文檔介紹:http://www.trinea.cn/android/android-http-cache
    特點是:(1) 根據 cache-control、expires 緩存 http 請求
    (2) 支持同步、異步 Http 請求
    (3) 在匿名回調中處理請求結果
    (4) 在 UI 線程外進行 http 請求
    (5) 默認 gzip 壓縮
    (2) 公共 View(下拉及底部加載更多 ListView、底部加載更多 ScrollView、滑動一頁 Gallery)
    (3) Android 常用工具類(網絡、下載、Android 資源操作、shell、文件、Json、隨機數、Collection 等等)

  4. DropDownListView 下拉刷新及滑動到底部加載更多 ListView
    文檔介紹:http://www.trinea.cn/android/dropdown-to-refresh-and-bottom-load-more-listview/

  5. shipfaster
    整合了 Dagger Otto Retrofit Robolectric Picasso OkHttp,方便快速開發
    項目地址:https://github.com/pyricau/shipfaster

  6. CleanAndroidCode
    整合了 Dagger Otto AndroidAnnotations,方便快速開發
    項目地址:https://github.com/pyricau/CleanAndroidCode

  7. xUtils
    基於 Afinal,包含 DbUtils、ViewUtils、HttpUtils、BitmapUtils 四大模塊,可用於快速開發
    項目地址:https://github.com/wyouflf/xUtils
    原理剖析文檔:xUtils

  8. Afinal
    Afinal 是一個 android 的 ioc,orm 框架,內置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過 finalActivity,我們可以通過註解的方式進行綁定 ui 和事件。通過 finalBitmap,我們可以方便的加載 bitmap 圖片,而無需考慮 oom 等問題。通過 finalDB 模塊,我們一行代碼就可以對 android 的 sqlite 數據庫進行增刪改查。通過 FinalHttp 模塊,我們可以以 ajax 形式請求 http 數據
    項目地址:https://github.com/yangfuhai/afinal
    官網網址:http://www.afinal.org

  9. UltimateAndroid
    UltimateAndroid 是一個快速開發 Android 應用的框架,框架目前主要包含的功能有 View Injection,ORM,異步網絡請求和圖片加載,自動化腳本測試,磁盤 LRU 等功能.同時提供了類似於 TripleDes、Webview 快速設置、Md5 處理、String 處理,Https 處理等常用工具類,還有超過 100 多種 UI 控件效果。
    項目地址:https://github.com/cymcsg/UltimateAndroid
    官網網址:http://blog.marshalchen.com/UltimateAndroid/

  10. SAF
    SAF(Simple Android Framework)是一個簡單的 android 框架,它爲開發 Android app 提供了基礎性組件。
    項目地址:https://github.com/fengzhizi715/SAF
    官網網址:http://www.salesuite.cn/
    包括:(1)Event Bus(事件總線)
    (2) Rest Client(http 的框架)
    (3) Image Cache(圖片緩存)
    (4) Dependency Injection(依賴注入)
    (5) Sqlite ORM(sqlite 的 orm)
    (6) Router(Activity、Fragment 的 Router)
    (7) Utils(各種常用的工具類)

  11. Barber
    Custom View 神器。通過簡單的註解幫助你大大減少 Custom View 中的代碼量。由於和 ButterKnife 一樣使用了 Annotation Proccessor ,所以對程序性能沒有影響。
    項目地址:https://github.com/hzsweers/barber

  12. device-year-class
    A library that analyzes an Android device's specifications and calculates which year the device would be considered "high end”.(facebook 開發的檢測手機主流配置工具)
    項目地址:https://github.com/facebook/device-year-class

  13. RxAndroid
    對RxJava在Android上的擴展,使得Android上也很容易實現reactive components,簡化線程操作,從而寫出很漂亮的代碼。
    項目地址:https://github.com/ReactiveX/RxAndroid
    文檔介紹:給Android 開發者的 RxJava 詳解

六、Android 高版本向低版本兼容

  1. Nine Old Androids
    將 Android 3.0(Honeycomb)所有動畫 API(ObjectAnimator ValueAnimator 等)兼容到 Android1.0
    項目地址:https://github.com/JakeWharton/NineOldAndroids
    原理剖析文檔:Nine Old Androids
    Demo 地址:https://play.google.com/store/apps/details?id=com.jakewharton.nineoldandroids.sample
    文檔介紹:http://nineoldandroids.com/

  2. HoloEverywhere
    將 Android 3.0 的 Holo 主題兼容到 Android2.1++
    項目地址:https://github.com/Prototik/HoloEverywhere
    Demo 地址:https://raw.github.com/Prototik/HoloEverywhere/repo/org/holoeverywhere/demo/2.1.0/demo-2.1.0.apk
    文檔介紹:http://android-developers.blogspot.com/2012/01/holo-everywhere.html

  3. SherlockNavigationDrawer
    將 Android NavigationDrawer 和 ActionbarSherlock 結合,解決 4.0 以下 NavigationDrawer 的適配問題
    項目地址:https://github.com/tobykurien/SherlockNavigationDrawer
    文檔介紹:http://developer.android.com/training/implementing-navigation/nav-drawer.html

  4. Notifications4EveryWhere
    將 Android 4.1 的 Notification 兼容到 Android2.2++
    項目地址:https://github.com/youxiachai/Notifications4EveryWhere

  5. Android Switch Widget Backport
    將 Android Switch 和 SwitchPreference 的兼容到 Android2.1++
    項目地址:https://github.com/BoD/android-switch-backport
    Demo 地址:https://play.google.com/store/apps/details?id=org.jraf.android.backport.switchwidget.sample
    文檔介紹:https://github.com/BoD/android-switch-backport#using-the-switch

  6. android-datepicker
    將 Android 4.0 的 datepicker 兼容到 Android2.2++
    項目地址:https://github.com/SimonVT/android-datepicker

  7. Transitions Everywhere
    Android 4.4 的 Transitions API 兼容到 Android 2.2 以上
    項目地址:https://github.com/andkulikov/transitions-everywhere

  8. KShareViewActivityManager
    一個兼容Android 5.0 以下Shared Element Transition (頁面間共享元素位移動畫)庫
    項目地址:https://github.com/kot32go/KShareViewActivityManager
    效果圖:http://i8.tietuku.com/aa5726b8302ae711.gif

七、多媒體相關

  1. cocos2d-x
    跨平臺的 2d 遊戲框架,支持 Android、IOS、Linux、Windows 等衆多平臺
    項目地址:https://github.com/cocos2d/cocos2d-x
    文檔介紹:http://www.cocos2d-x.org/wiki
    官網網址:http://www.cocos2d-x.org/

  2. JustWeEngine
    Android的輕量級遊戲框架,能大大縮減編寫原生遊戲的代碼量和難度,仍在持續更新中。
    項目地址: https://github.com/lfkdsk/JustWeEngine
    Demo地址: https://github.com/lfkdsk/EngineDemo

  3. Vitamio
    是一款 Android 與 iOS 平臺上的全能多媒體開發框架
    項目地址:https://github.com/yixia/VitamioBundle
    網站介紹:http://www.vitamio.org/docs/
    特點:(1) 全面支持硬件解碼與 GPU 渲染
    (2) 能夠流暢播放 720P 甚至 1080P 高清 MKV,FLV,MP4,MOV,TS,RMVB 等常見格式的視頻
    (3) 在 Android 與 iOS 上跨平臺支持 MMS, RTSP, RTMP, HLS(m3u8)等常見的多種視頻流媒體協議,包括點播與直播。

  4. VDPlayerSDK
    最容易集成的開源播放器組件,支持直播,支持軟硬解切換,支持清晰度切換
    項目地址:https://github.com/SinaVDDeveloper/
    Demo 地址:https://github.com/SinaVDDeveloper/demo
    文檔介紹:https://github.com/SinaVDDeveloper/sinavideo_playersdk
    特點:
    (1) 使用自定義控件方式提供播放器UI,不需要視頻相關知識,能編寫android應用就能使用
    (2) 軟硬解切換、點播直播支持
    (3) 解碼內核小於4M,更方便集成到非專業視頻app中
    (4) 修正一些vitaimio的問題,比如m3u8可以拖動等等

  5. VideoPlayerManager
    幫助實現VideoPlayer控制,使得它更容易使用ListView和recyclerview。它還可以跟蹤滾動列表中可見的項。當列表中的新項可見域最大時,該庫給出了接口來跟蹤它。
    項目地址:https://github.com/danylovolokh/VideoPlayerManager
    文檔介紹:https://medium.com/@v.danylo/implementing-video-playback-in-a-scrolled-list-listview-recyclerview-d04bc2148429#.hs5n0geqn

  6. PhotoProcessing
    利用 ndk 處理圖片庫,支持 Instafix、Ansel、Testino、XPro、Retro、BW、Sepia、Cyano、Georgia、Sahara、HDR、Rotate(旋轉)、Flip(翻轉)等各種特效
    項目地址:https://github.com/lightbox/PhotoProcessing
    Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/photo-processing.apk?raw=true

  7. Android StackBlur
    圖片模糊效果工具類
    項目地址:https://github.com/kikoso/android-stackblur
    Demo 地址:https://github.com/kikoso/android-stackblur/blob/master/StackBlurDemo/bin/StackBlurDemo.apk?raw=true
    文檔介紹:https://github.com/kikoso/android-stackblur#usage

  8. Bitmap Smart Clipping using OpenCV
    圖片智能裁剪保留重要部分顯示
    項目地址:https://github.com/beartung/tclip-android
    利用淘寶的 http://code.taobao.org/p/tclip/ 庫完成
    一淘玩客正在使用的圖片裁剪,自動識別圖片中的重要區域,並且在圖片裁剪時保留重要區域
    特點:(1). 能進行人臉識別。圖片中有人臉,將自動視爲人臉區域爲重要區域,將不會被裁剪掉
    (2).自動其它重要區域。如果圖片中未識別出人臉,則會根據特徵分佈計算出重區域

  9. Cropper
    圖片局部剪切工具,可觸摸控制選擇區域或旋轉
    項目地址:https://github.com/edmodo/cropper
    文檔介紹:https://github.com/edmodo/cropper/wiki
    效果圖:Renderings

  10. uCrop
    Yalantis 出品的強大的圖片裁剪庫 ,支持縮放,旋轉圖片,支持各種比例的裁剪框
    項目地址:https://github.com/Yalantis/uCrop
    效果圖:Renderings

  11. android-crop
    圖片裁剪 Activity 項目地址:https://github.com/jdamcd/android-crop
    效果圖:Renderings

  12. TileView
    可分塊顯示大圖,支持 2D 拖動、雙擊、雙指放大、雙指捏合
    項目地址:https://github.com/moagrius/TileView
    Demo 地址:http://moagrius.github.io/TileView/TileViewDemo.apk

  13. BlurEffectForAndroidDesign
    圖片模糊效果
    項目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesign

  14. android-eye
    PC 端網頁查看同一局域網內的手機攝像頭內容,可以用來監控哦
    項目地址:https://github.com/Teaonly/android-eye
    Demo 地址:https://play.google.com/store/apps/details?id=teaonly.droideye

  15. libpng for Android
    PNG 圖片的 jni 庫,支持幾乎 png 的所有特性
    項目地址:https://github.com/julienr/libpng-android
    文檔介紹:http://www.libpng.org/pub/png/libpng.html

  16. android-gpuimage
    基於 GPU 的圖片濾鏡
    項目地址:https://github.com/CyberAgent/android-gpuimage

  17. AndroidFaceCropper
    圖片臉部自動識別,將識別後的局部圖片返回
    項目地址:https://github.com/lafosca/AndroidFaceCropper

  18. Android Video Crop
    利用 TextureView 播放和剪切視頻,類似 ImageView.setScaleType
    項目地址:https://github.com/dmytrodanylyk/android-video-crop
    Demo 地址:https://github.com/lafosca/AndroidFaceCropper/releases/download/1.0/FaceCropper-sample-debug-unaligned.apk

  19. svg-android
    Android Svg 矢量圖形支持
    項目地址:https://github.com/japgolly/svg-android https://github.com/japgolly/svg-android

  20. Android Visualizer
    從 Android MediaPlayer 獲得音頻,然後像 iTunes 及 WinAmp 一樣展示音軌
    項目地址:https://github.com/felixpalmer/android-visualizer

  21. ExoPlayer
    包括儀表板和 SmoothStreaming 自適應回放,緩存持久化和自定義渲染器,方便自定義和擴展,並且可以通過應用商店更新
    項目地址:https://github.com/google/ExoPlayer

  22. DanmakuFlameMaster
    android 上開源彈幕解析繪製引擎項目
    項目地址:https://github.com/ctiao/DanmakuFlameMaster

八、事件總線(訂閱者模式)

通過發佈/訂閱事件解耦事件發送和接受,從而簡化應用程序組件(Activities, Fragments 及後臺線程)之間的通信

  1. EventBus
    greenrobot 的開源項目
    項目地址:https://github.com/greenrobot/EventBus
    原理剖析文檔:EventBus
    文檔介紹:https://github.com/greenrobot/EventBus#general-usage-and-api
    特點:(1) 支持在不同類型的線程中處理訂閱,包括髮布所在線程,UI 線程、單一後臺線程、異步線程
    (2) 支持事件優先級定義,支持優先級高的訂閱者取消事件繼續傳遞,支持粘性事件,是不是跟系統的有序廣播、粘性廣播很像啊
    (3) 不是基於 annotations
    (4) 性能更優
    (5) 體積小
    (6) 支持單例創建或創建多個對象
    (7) 支持根據事件類型訂閱

  2. Otto
    Square 的開源項目,基於 Guava 的 Android 優化
    項目地址:https://github.com/square/otto
    文檔介紹:http://square.github.io/otto/
    EventBus 與 Otto 的功能及性能對比文檔
    EventBus 與 Otto 性能對比 Demo Apk

九、傳感器

  1. Great Android Sensing Toolkit
    Android 感應器工具包,包含示例及使用過程中可能需要的算法
    項目地址:https://github.com/gast-lib/gast-lib
    Demo 地址:https://play.google.com/store/apps/details?id=root.gast.playground
    文檔介紹:https://github.com/gast-lib/gast-lib#documentation

  2. SensorManager
    Android 傳感器管理
    項目地址:https://github.com/nlathia/SensorManager
    文檔介紹:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/edit

  3. GPSLogger
    記錄 GPS 信息
    項目地址:https://github.com/mendhak/gpslogger
    Demo 地址:https://play.google.com/store/apps/details?id=com.mendhak.gpslogger
    文檔介紹:http://code.mendhak.com/gpslogger/

  4. Pedometer
    計步器,使用硬件計步感應器
    項目地址:https://github.com/j4velin/Pedometer

  5. leapcast
    ChromeCast 模擬器的 App
    項目地址:https://github.com/dz0ny/leapcast

  6. Arduino-Communicator
    與 Arduino 通信的 App
    項目地址:https://github.com/jeppsson/Arduino-Communicator

  7. android-pedometer
    Android 計步器
    項目地址:https://github.com/bagilevi/android-pedometer
    Demo 地址:http://pedometer.googlecode.com/files/Pedometer-1.4.apk

  8. OwnTracks for Android
    自己的軌跡記錄
    項目地址:https://github.com/owntracks/android

  9. Shake Detector library for Android
    Android 手機震動搖晃檢測庫,提供供 UI 線程調用的回調接口
    項目地址:https://github.com/tbouron/ShakeDetector
    Demo 地址:https://play.google.com/store/apps/details?id=com.github.tbouron.shakedetector.example

  10. Android heart rate monitor
    Android 心跳檢測
    項目地址:https://github.com/phishman3579/android-heart-rate-monitor

  11. Bluetooth LE Library for Android
    藍牙源信息,包括寶庫 Mac、更新時間、RSSI、UUID、信號源距離、影響範圍等信息
    項目地址:https://github.com/alt236/Bluetooth-LE-Library---Android
    Demo 地址:https://play.google.com/store/apps/details?id=uk.co.alt236.btlescan

  12. farebot
    通過 NFC 從公交卡中讀取數據的一個應用
    項目地址:https://github.com/codebutler/farebot

十、安全

  1. SQLCipher
    Sqlite 加密工具
    項目地址:https://github.com/sqlcipher/sqlcipher
    文檔介紹:http://sqlcipher.net/sqlcipher-for-android/

  2. Conceal
    快速高效的進行文件加密解密
    項目地址:https://github.com/facebook/conceal
    文檔介紹:https://github.com/facebook/conceal#usage

  3. Android-PasscodeLock
    應用鎖,每次啓動或從任何 Activity 啓動應用都需要輸入四位數字的密碼方可進入
    項目地址:https://github.com/wordpress-mobile/Android-PasscodeLock
    Demo 地址:https://play.google.com/store/apps/details?id=org.wordpress.android
    APP 示例:Wordpress Android,支付寶,挖財

  4. GlowPadBackport
    將 Android4.2 的鎖屏界面解鎖擴展到 Android1.6 及 1.6+
    項目地址:https://github.com/rock3r/GlowPadBackport
    Demo 地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample
    效果圖:Renderings

  5. GlowPadView
    Android 4 鎖屏界面解鎖
    項目地址:https://github.com/nadavfima/GlowPadView
    效果圖:Renderings

  6. Android-InsecureBank
    關於 Android 不安全性的示例
    項目地址:https://github.com/dineshshetty/Android-InsecureBankv2

十一、插件化

更多見:Android 插件化作用、概念以及不錯的資料(包括開源項目)和解決方案

  1. dynamic-load-apk
    Android 動態加載 Apk,熱部署,利用 ClassLoader 以及 Activity 代理的方式解決
    項目地址:https://github.com/singwhatiwanna/dynamic-load-apk
    原理剖析文檔:dynamic-load-apk
    文檔介紹:http://blog.csdn.net/singwhatiwanna/article/details/22597587

  2. Android Dynamic Loader
    點評的實現方式,和上面不同的是:他不是用代理 Activity 的方式實現而是用 Fragment 以及 Schema 的方式實現
    項目地址:https://github.com/mmin18/AndroidDynamicLoader
    Demo 地址:https://github.com/mmin18/AndroidDynamicLoader/raw/master/host.apk

  3. xCombine
    Android App 插件式插件開發,插件必須先安裝,更推薦看上面兩個開源項目
    項目地址:https://github.com/wyouflf/xCombine
    文檔介紹:http://my.oschina.net/u/1171837/blog/155377

  4. Android Plugin Framework
    Android 插件式開發,開放的源碼目前不完整
    項目地址:https://github.com/umeng/apf

  5. Android OpenAtlas
    Android插件框架,基於OSGI,非代理方式,組件需要在宿主中聲明
    項目地址:https://github.com/bunnyblue/OpenAtlas
    Demo 地址:https://github.com/bunnyblue/OpenAtlasExtension/blob/master/Dist/OpenAtlasLauncher.apk

  6. multidex
    安裝多 dex 的 classloader
    項目地址:https://github.com/casidiablo/multidex

  7. ANR-WatchDog
    Android ANR 監聽,通過監聽自己的 UI Thread 是否被執行確定是否發生了 ANR,並可以設置相關事件
    項目地址:https://github.com/SalomonBrys/ANR-WatchDog

十二、文件

對不同文檔類型的處理,包括 PDF、Word、EPub、Html、Zip 等

  1. purePDF
    允許從任何運行的 SWF 文件讀取和創建 PDF 文檔
    項目地址:https://github.com/sephiroth74/purePDF

  2. android-pdfview
    快速解析 pdf 的 view,默認支持手勢縮放和相關動畫
    項目地址:https://github.com/JoanZapata/android-pdfview

  3. Office 365 SDK for Android Preview
    可支持 Microsoft SharePoint Lists, Microsoft SharePoint Files, Microsoft Exchange Calendar, Microsoft Exchange Contacts, Microsoft Exchange Mail
    項目地址:https://github.com/OfficeDev/Office-365-SDK-for-Android

  4. OpenSpritz-Android
    EPub 閱讀器
    項目地址:https://github.com/OnlyInAmerica/OpenSpritz-Android

  5. jsoup
    一個解析 html 的 java 庫,可方便的提取和操作數據
    項目地址:https://github.com/jhy/jsoup
    官網網址:http://jsoup.org/
    作用:(1) 從一個 url、文件或 string 獲得 html 並解析
    (2) 利用 dom 遍歷或 css 選擇器查找、提取數據
    (3) 操作 html 元素
    (4) 根據白名單去除用於提交的非法數據防止 xss 攻擊
    (5) 輸出整齊的 html

  6. ZIP
    java 壓縮和解壓庫
    項目地址:https://github.com/zeroturnaround/zt-zip
    文檔介紹:https://github.com/zeroturnaround/zt-zip#examples
    作用:(1) 解壓和壓縮,並支持文件夾內遞歸操作
    (2) 支持包含和排除某些元素
    (3) 支持重命名元素
    (4) 支持遍歷 zip 包內容
    (5) 比較兩個 zip 包等功能

  7. Image File Selector
    輕量級的圖片文件選擇器,用系統api選取,壓縮和裁切圖片,可以方便的得要指定尺寸的圖片
    項目地址:https://github.com/sw926/ImageFileSelector

十三、其他

  1. FragmentStack
    一個封裝了啓動模式的Fragment便捷使用庫,方便構建單Activity+多Fragment輕量級框架
    項目地址:https://github.com/Mr-wangyong/FragmentStack
    效果圖:https://github.com/Mr-wangyong/FragmentStack/blob/master/play.gif
    App示例:南瓜電影

  2. CustomTabsHelper 快速集成 CustomTabs 的工具類
    項目地址:https://github.com/DreaminginCodeZH/CustomTabsHelper

  3. Salvage view
    帶 View 緩存的 Viewpager PagerAdapter,很方便使用
    項目地址:https://github.com/JakeWharton/salvage

  4. Android Priority Job Queue
    Android 後臺任務隊列
    項目地址:https://github.com/path/android-priority-jobqueue
    文檔介紹:https://github.com/path/android-priority-jobqueue#getting-started

  5. Cobub Razor
    開源的 mobile 行爲分析系統,包括 web 端、android 端,支持 ios 和 window phone
    項目地址:https://github.com/cobub/razor
    Demo 地址:http://demo.cobub.com/razor
    官網網址:http://dev.cobub.com/

  6. Countly
    Android 移動端數據採集分析系統
    項目地址:https://github.com/Countly/countly-sdk-android
    官網網址:https://count.ly/

  7. aFileChooser
    文件選擇器,可內嵌到程序中,而無需使用系統或三方文件選擇器。
    項目地址:https://github.com/iPaulPro/aFileChooser

  8. androidpn
    基於 xmpp 協議的消息推送解決方案,包括服務器端和 android 端。
    項目地址:https://github.com/dannytiehui/androidpn

  9. Bolts
    Android 的異步編程模式
    項目地址:https://github.com/BoltsFramework/Bolts-Android/
    與 AsyncTask 比較:(1) 使用的是無大小限制的線程池
    (2) 任務可組合可級聯,防止了代碼耦合

  10. CastCompanionLibrary-android
    使 Android 程序中更快的接入 Google Cast
    項目地址:https://github.com/googlecast/CastCompanionLibrary-android
    文檔介紹:https://developers.google.com/cast/

  11. CastVideos-android
    從 Android 設備分享 Video 通過 Google Cast
    項目地址:https://github.com/googlecast/CastVideos-android
    文檔介紹:https://developers.google.com/cast/

  12. Uninstall_Statics
    Android 應用自身被卸載監聽及打開瀏覽器等反饋功能實現
    項目地址:https://github.com/sevenler/Uninstall_Statics
    文檔介紹:http://www.cnblogs.com/zealotrouge/p/3157126.html http://www.cnblogs.com/zealotrouge/p/3159772.html

  13. Memento
    保證在系統配置改變時,Activity 中的某些數據可以簡單安全的保持不變
    項目地址:https://github.com/mttkay/memento
    文檔介紹:https://github.com/mttkay/memento#usage

  14. FreeFlow
    佈局引擎,更簡單的創建自定義佈局,並且當數據和佈局改變時更美觀的過渡動畫
    項目地址:https://github.com/Comcast/FreeFlow
    Demo 地址:https://github.com/Comcast/FreeFlow/releases

  15. Android Gesture Detectors Framework
    Android 手勢框架,支持雙指旋轉、移動、平移、縮放等
    項目地址:https://github.com/Almeros/android-gesture-detectors

  16. Mapbox Android SDK
    Android Map 的替代版
    項目地址:https://github.com/mapbox/mapbox-android-sdk

  17. Activity animation
    Activity 跳轉動畫,支持各個方向波浪的效果
    項目地址:https://github.com/flavienlaurent/activityanimation
    在線演示:https://www.youtube.com/watch?v=-E0sc6w_Jck

  18. KryoNet
    通過 NIO 提供客戶端和服務器端 TCP/UDP 網絡傳輸的 Java 庫
    項目地址:https://github.com/EsotericSoftware/kryonet

  19. Rebound
    一個模仿彈簧反彈的 Java 庫,可用於創建動畫
    項目地址:https://github.com/facebook/rebound

  20. Android Social Networks
    社交網絡接入統一管理器,可方便的從 Twitter, LinkedIn, Facebook, Google Plus 登陸、獲得個人信息、發送消息、發送專篇、添加或刪除好友
    項目地址:https://github.com/antonkrasov/AndroidSocialNetworks
    Demo 地址:https://play.google.com/store/apps/details?id=com.github.androidsocialnetworks.apidemos

  21. SmartAppUpdates
    Android App 增量升級,包含前後端方案、Demo、以及 so 庫,可用於商店或大體積 App 差分升級
    項目地址:https://github.com/cundong/SmartAppUpdates

  22. Magnet
    創建類似 Facebook 聊天桌面懸浮窗的效果
    項目地址:https://github.com/premnirmal/Magnet

  23. AcDisplay
    將 Android 的通知都集中到鎖屏顯示
    項目地址:https://github.com/AChep/AcDisplay
    Demo 地址:https://play.google.com/store/apps/details?id=com.achep.acdisplay

  24. QrCodeScan
    ZXing 和 ZBar 結合的二維碼掃描項目,提高了掃描效率
    項目地址:https://github.com/SkillCollege/QrCodeScan
    效果圖:Renderings

  25. Android-ScreenShot
    實現 android 系統截屏功能
    項目地址:https://github.com/Android-ScreenShot/AndroidScreenShotService
    文檔介紹:http://blog.csdn.net/buptgshengod/article/details/39155979

  26. card.io SDK for Android
    信用卡掃描 Android SDK
    項目地址:https://github.com/card-io/card.io-Android-SDK
    Demo 項目:https://github.com/card-io/card.io-Android-SDK/tree/master/SampleApp

  27. ASNE
    Twitter, Facebook, Google Plus, LinkedIn, Instagram, Vkontakte, Odnoklassniki 的集成庫,包括他們的大多數功能
    項目地址:https://github.com/gorbin/ASNE
    Demo 地址:https://play.google.com/store/apps/details?id=com.gorbin.androidsocialnetworksextended.asne

  28. Android Signature Pad
    Android 自定義的簽名 View,可自定義筆顏色和大小
    項目地址:https://github.com/gcacace/android-signaturepad
    Demo 項目:https://github.com/gcacace/android-signaturepad/tree/master/SignaturePad-Example

  29. Teleport
    Android Wear 數據同步和消息傳送庫
    項目地址:https://github.com/Mariuxtheone/Teleport

  30. DebugLog
    可以幫你創建更簡單和更容易理解的調試日誌,能夠友好的顯示調試信息所在類和函數。
    項目地址:https://github.com/MustafaFerhan/DebugLog
    效果圖:Renderings

  31. Logger
    簡單、美觀而且十分強大的 Android 日誌工具
    項目地址:https://github.com/orhanobut/logger
    Demo 地址:https://github.com/orhanobut/logger/tree/master/app
    效果圖:Renderings

  32. jlog
    可以靈活配置的日誌工具,支持JSON打印,日誌保存到指定文件,日誌顯示調用位置(混淆模式下依然有效)
    項目地址:https://github.com/JiongBull/jlog
    Demo 地址:apk地址
    效果圖:Renderings

  33. Phrase
    square 組開源大牛寫的字符串替換類
    項目地址:https://github.com/square/phrase

  34. ColorPhrase
    模仿 phrase 寫的對字符串個別字符顏色改變的類,高效強大!
    項目地址:https://github.com/THEONE10211024/ColorPhrase
    效果圖:Renderings

  35. PinyinSearch
    一個爲 T9 搜索和 Qwerty 搜索,提供數據解析與匹配等方法的拼音搜索 java 庫。
    項目地址: https://github.com/handsomezhou/PinyinSearchLibrary
    Demo 地址: ContactsSearch AppSearch
    效果圖:Renderings
    APP 示例: 通訊錄應用,微信電話本

  36. PrainView
    PaintView 是一個畫圖工具:
    可直接使用設定按鈕來實現已擁有的方法,且拓展性強
    基礎功能:更換顏色、更換橡皮、以及更換橡皮和筆的粗細、清屏、倒入圖片
    特殊功能:保存畫筆軌跡幀動畫、幀動畫導入導出、ReDo和UnDo
    項目地址:Paintview
    效果圖:p1
    p2
    demo地址:apk地址
    原理解析:PaintView 繪圖控件解析

  37. CodeView
    CodeView代碼查看/修改工具: 基於WebView製作的代碼編輯器,實現代碼高亮,暗色主題
    項目地址:CodeView
    效果圖:p3
    p4
    demo地址:apk地址

  38. ExplorerView
    文件瀏覽器:繼承自ListView,可拓展性強,可進行文件類型分析
    項目地址:CodeView
    效果圖:p5
    p6
    demo地址:apk地址

  39. ReadView
    小說閱讀器,支持文字字體、顏色、背景、進度等多種調整,支持一鍵設置。
    項目地址:ReadView
    效果圖:p7
    demo地址:apk地址

  40. MarkDownView
    支持MarkDown語法的渲染器,基於WebView的MarkDown渲染器,支持標準化的MarkDown語法, 調用接口和CodeView保持一致使用簡便
    項目地址:ReadView
    效果圖:markdown
    demo地址:apk地址

  41. VerTextView豎行排版的TextView:
    支持豎行排版,添加了下劃線功能,開啓簡便,下劃線粗細、顏色、間距均可自定義,
    接口調用方式與TextView相似,使用簡便。
    項目地址:ReadView
    效果圖:vertextview
    demo地址:apk地址

  42. GHDownload下載框架
    支持單線程和多線程斷點下載,簡單易用。
    項目地址:GHDownload

第三部分 優秀項目

主要介紹那些 Android 還不錯的完整項目,目前包含的項目主要依據是項目有意思或項目分層規範比較好。

一、系統及平臺

  1. Linux
    項目地址:https://github.com/torvalds/linux
  2. Android
    項目地址:https://android.googlesource.com/

二、項目

  1. ZXing
    二維碼掃描工具
    項目地址:https://github.com/zxing/zxing 或 https://code.google.com/p/zxing/
    APK 地址:https://play.google.com/store/apps/details?id=com.google.zxing.client.android
    其他:現在市面上很多應用的二維碼掃描功能都是從這個修改而來

  2. photup
    編輯機批量上傳照片到 facebook 上
    項目地址:https://github.com/chrisbanes/photup
    APK 地址:https://play.google.com/store/apps/details?id=uk.co.senab.photup
    其他:代碼分包合理,很棒。不過這個項目依賴的開源項目比較多,比較難編譯

  3. github-android
    Github 的 Android 客戶端項目
    項目地址:https://github.com/github/android
    APK 地址:https://play.google.com/store/apps/details?id=com.github.mobile

  4. Notes
    MIUI 便籤
    項目地址:https://github.com/MiCode/Notes
    APK 地址:https://github.com/Trinea/TrineaDownload/blob/master/miui-note-demo.apk?raw=true
    其他:項目分包比較合理,相比較 miui 的文件管理器 https://github.com/MiCode/FileExplorer 代碼規範較好得多

  5. weicuiyuan
    四次元-新浪微博客戶端
    項目地址:https://github.com/qii/weiciyuan
    APK 地址:https://play.google.com/store/apps/details?id=org.qii.weiciyuan

  6. gnucash-android
    一個記賬理財軟件
    項目地址:https://github.com/codinguser/gnucash-android
    APK 地址:http://play.google.com/store/apps/details?id=org.gnucash.android

  7. AntennaPod
    支持 rss 訂閱、音樂訂閱
    項目地址:https://github.com/danieloeh/AntennaPod
    APK 地址:https://play.google.com/store/apps/details?id=de.danoeh.antennapod

  8. ChaseWhisplyProject
    打鬼遊戲
    項目地址:https://github.com/tvbarthel/ChaseWhisplyProject
    APK 地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.games.chasewhisply

  9. Tweet Lanes
    功能完整的 Twitter 客戶端
    項目地址:https://github.com/chrislacy/TweetLanes
    APK 地址:https://play.google.com/store/apps/details?id=com.tweetlanes.android

  10. Financius
    簡單易用的記賬程序
    項目地址:https://github.com/mvarnagiris/Financius
    APK 地址:https://play.google.com/store/apps/details?id=com.code44.finance

  11. todo.txt-android
    todo.txt 的官方 Android 應用
    項目地址:https://github.com/ginatrapani/todo.txt-android
    APK 地址:https://play.google.com/store/apps/details?id=com.todotxt.todotxttouch

  12. simpletask
    基於 todo.txt 官方應用的另一個客戶端
    項目地址:https://github.com/mpcjanssen/simpletask-android
    APK 地址:https://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo

  13. Muzei Live Wallpaper
    定時更換桌面精美壁紙
    項目地址:https://github.com/romannurik/muzei
    APK 地址:https://play.google.com/store/apps/details?id=net.nurik.roman.muzei

  14. Scanbook
    掃描搜索查詢圖書信息
    項目地址:https://github.com/JayFang1993/ScanBook
    APK 地址:http://www.wandoujia.com/apps/com.scanbook

  15. iosched
    The Google I/O 2014 Android App
    項目地址:https://github.com/google/iosched
    APK 地址:https://play.google.com/store/apps/details?id=com.google.samples.apps.iosched

第四部分 開發工具及測試工具

主要介紹和 Android 開發工具和測試工具相關的開源項目。

一、開發效率工具

  1. Parceler
    通過註解及工具類自動完成實體類 Parcelable 及值傳遞
    項目地址:https://github.com/johncarl81/parceler

  2. Json2Java
    根據 JSon 數據自動生成對應的 Java 實體類,還支持 Parcel、Gson Annotations 對應代碼自動生成。期待後續的提取父類以及多 url 構建整個工程的功能
    項目地址:https://github.com/jonfhancock/JsonToJava
    在線演示:http://jsontojava.appspot.com/

  3. IntelliJ Plugin for Android Parcelable boilerplate code generation
    Android studio 插件,生成 Parcelable 代碼
    項目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
    效果圖:Renderings

  4. Android Holo Colors IntelliJ Plugin
    Android studio 插件,生成 holo 樣式 9 patch 圖片
    項目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
    效果圖:Renderings

  5. Android Drawable Factory
    用於生成各個分辨率的圖片
    項目地址:https://github.com/tizionario/AndroidDrawableFactory
    效果圖:Renderings

  6. SelectorChapek for Android
    Android Studio 插件,可根據固定文件名格式資源自動生成 drawable selectors xml 文件。
    項目地址:https://github.com/inmite/android-selector-chapek

  7. Android Action Bar Style Generator
    Android ActionBar 樣式生成器,可在線選擇 ActionBar 樣式自動生成所需要的圖片資源及 xml 文件
    項目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
    在線演示:http://jgilfelt.github.io/android-actionbarstylegenerator/

  8. ButterKnifeZelezny
    用於快速生成ButterKnifeView 注入代碼的 Android Studio/IDEA 插件
    項目地址:https://github.com/inmite/android-butterknife-zelezny

  9. RoboCoP
    利用 Gradle task 根據固定格式的 json 文件生成 ContentProvider
    項目地址:https://github.com/mediarain/RoboCoP

  10. appiconsizes
    用於生成各個分辨率的圖片
    項目地址:http://www.appiconsizes.com/

  11. Gradle Retrolambda Plugin
    Retrolambda是將 Java8 的 Lambdas 應用於 Java7 的工具,本項目是 Gradle 插件,通過 Retrolambda 從而使 Java 或 Android 項目用 Java8 的 Lambdas 編寫,將編譯後的字節碼轉換爲 Java6 和 7 的字節碼從而正常運行
    項目地址:https://github.com/evant/gradle-retrolambda

  12. Dagger IntelliJ Plugin
    dagger 的 intellij 插件
    項目地址:https://github.com/square/dagger-intellij-plugin

  13. Android Gen Drawable Maven plugin
    在編譯時根據 SVG 描述文件生成不同分辨率的 jpg、png 或點 9 圖片
    項目地址:https://github.com/avianey/androidgendrawable-maven-plugin

  14. Android Asset Studio
    各種 Android 資源自動生成器,包括啓動圖標、ActionBar 圖標、通知欄圖標、點 9 等
    項目地址:https://github.com/romannurik/AndroidAssetStudio
    在線演示:http://romannurik.github.io/AndroidAssetStudio/

  15. jsonschema2pojo
    根據 Json 內容生成 java 對象,支持 jackjson 和 gson
    項目地址:https://github.com/joelittlejohn/jsonschema2pojo
    在線演示:http://www.jsonschema2pojo.org/

  16. GsonFormat
    根據 JSONObject 格式的字符串,自動生成實體類參數的 Android Studio/IntelliJ IDEA 插件
    項目地址:https://github.com/zzz40500/GsonFormat
    效果圖:Renderings

  17. 9-Patch-Resizer
    自動生成 png 及點 9 圖片的不同分辨率版本
    項目地址:https://github.com/redwarp/9-Patch-Resizer

  18. AndroidLocalizationer
    可用於將項目中的 string 資源自動翻譯爲其他語言的 Android Studio/IntelliJ IDEA 插件
    項目地址:https://github.com/westlinkin/AndroidLocalizationer

  19. Material Palette
    一個將現有的色彩方案組合成材料設計的調色板方案,提供下載。選取兩個主要色彩後便可以提供下載,提供下載的格式可以是 android 的資源 xml 文件,以色彩的方式提供,也可以是 CSS、SVG、PNG 等常見格式文件。
    項目地址:http://www.materialpalette.com/

二、開發自測相關

  1. Quality Tools for Android
    Android 測試及自測工具集合和示例
    項目地址:https://github.com/stephanenicolas/Quality-Tools-for-Android

  2. android-test-kit
    Google 的 Android 測試工具
    包括 GoogleInstrumentationTestRunner(增強版的 InstrumentationTestRunner)和 Espresso(用於快速寫出可靠測試用例的 API)
    項目地址:https://code.google.com/p/android-test-kit/
    文檔介紹:https://code.google.com/p/android-test-kit/w/list

  3. robolectric
    測試用例編寫框架
    項目地址:https://github.com/robolectric/robolectric
    Demo 地址:https://github.com/robolectric/robolectricsample
    文檔介紹:http://robolectric.org/
    特點:(1). 不需要模擬器在一般 JVM 就可以運行測試用例
    (2). 能完成在真機上的大部分測試包括感應器
    其他的測試用例及相關模塊 Mock 可見:android-mockmockitoeasy-mock

  4. Android FEST
    提供一些列方便的斷言,可用於提高編寫 Android 自測代碼效率
    項目地址:https://github.com/square/fest-android

  5. BoundBox
    可用於測試類各種訪問權限的屬性、方法。實際是通過 BoundBox 這個 annotation 生成一個屬性和方法都是 public 權限的中間類並對此類進行測試完成的
    項目地址:https://github.com/stephanenicolas/boundbox

  6. Hugo
    用於打印函數信息及執行時間的工具,僅在 debug 模式生效
    項目地址:https://github.com/JakeWharton/hugo

  7. scalpel
    在應用下面添加一層用於界面調試
    項目地址:https://github.com/JakeWharton/scalpel

  8. Android Screenshot library
    Android 截圖工具類,用於在持續集成時截圖
    項目地址:https://github.com/rtyley/android-screenshot-lib

  9. sonar-android-lint-plugin
    將 android lint 的錯誤在 sonar 中展現
    項目地址:https://github.com/SonarCommunity/sonar-android

三、測試工具

  1. Spoon
    可用於 android 不同機型設備自動化測試,能將應用 apk 和測試 apk 運行在不同機器上並生成相應測試報告。
    項目地址:https://github.com/square/spoon

  2. Tencent APT
    APT 是騰訊開源的一個 Android 平臺高效性能測試組件,提供豐富實用的功能,適用於開發自測、定位性能瓶頸;測試人員完成性能基準測試、競品對比測試
    項目地址:https://github.com/stormzhang/APT

  3. Emmagee
    網易開源的性能測試工具,包括 CPU、內存、網絡流量、啓動時間、電池狀態等
    項目地址:https://github.com/NetEase/Emmagee

  4. Android py-uiautomator
    py-uiautomator 是一個對 Android uiautomator 用 python 進行封裝的測試框架.
    項目地址:https://github.com/xiaocong/uiautomator

  5. Augmented Traffic Control
    模擬網絡狀況,包括帶寬、時延抖動、丟包率、錯包率、包重排率
    項目地址:https://github.com/facebook/augmented-traffic-control

  6. stetho
    強大的 Android Debug 工具。支持網絡請求監控以及數據庫查看,可以和 Chrome DevTools 結合或者命令行模式。
    項目地址:https://github.com/facebook/stetho

四、開發及編譯環境

  1. Buck
    facebook 開源的 Android 編譯工具,效率是 ant 的兩倍。主要優點在於:
    (1) 加快編譯速度,通過並行利用多核 cpu 和跟蹤不變資源減少增量編譯時間實現
    (2) 可以在編譯系統中生成編譯規則而無須另外的系統生成編譯規則文件
    (3) 編譯同時可生成單元測試結果
    (4) 既可用於 IDE 編譯也可用於持續集成編譯
    (5) facebook 持續優化中
    項目地址:https://github.com/facebook/buck

  2. Android Maven Plugin
    Android Maven 插件,可用於對 android 三方依賴進行管理。在 J2EE 開發中,maven 是非常成熟的依賴庫管理工具,可統一管理依賴庫。
    項目地址:https://github.com/jayway/maven-android-plugin

  3. umeng-muti-channel-build-tool
    渠道打包工具
    項目地址:https://github.com/umeng/umeng-muti-channel-build-tool
    另可參見 Google 的構建系統 Gradle:http://tools.android.com/tech-docs/new-build-system/user-guide

  4. Genymotion
    目前最好用最快的 android 模擬器
    項目地址:http://www.genymotion.com/
    Android studio 集成控件: http://plugins.jetbrains.com/plugin/7269?pr=idea
    Cyril Mottier 推薦:http://cyrilmottier.com/2013/06/27/a-productive-android-development-environment/

  5. gradle-mvn-push
    方便的將 Gradle 的 Artifacts 上傳到 Maven 倉庫
    項目地址:https://github.com/chrisbanes/gradle-mvn-push
    文檔介紹:https://github.com/chrisbanes/gradle-mvn-push#usage

  6. Android Emulator Plugin for Jenkins
    Android 模擬器 jenkins 插件,用於 Jenkins 做持續集成時跑模擬器測試
    項目地址:https://github.com/jenkinsci/android-emulator-plugin

  7. Android Maven Plugin
    管理應用所需要的依賴庫。包括的構建工具有 Maven、Gradle、ant、sbt
    項目地址:https://github.com/mosabua/maven-android-sdk-deployer

  8. SDK Manager Plugin
    下載和管理 Android SDK 的 Gradle 插件
    項目地址:https://github.com/JakeWharton/sdk-manager-plugin

  9. Gradle Protobuf Plugin
    將.proto 文件轉換成 Java 文件的 gradle 插件
    項目地址:https://github.com/andrewkroh/gradle-protobuf-plugin

  10. ChromeADB
    Chrome 的 Adb 插件,當登錄後,能看到所有連接的設備並操作,可以看應用、進程、內存及磁盤使用情況等
    項目地址:https://github.com/importre/chromeadb

五、其他

  1. GT
    APP的隨身調試平臺,它是直接運行在手機上的“集成調試環境”(IDTE, Integrated Debug Environment)。
    項目地址:https://github.com/TencentOpen/GT
    文檔介紹:http://gt.qq.com/docs.html

  2. ViewServer
    允許 app 運行在任何手機上都可以用 HierarchyViewer 查看
    項目地址:https://github.com/romainguy/ViewServer

  3. GridWichterle for Android
    在整個系統上顯示一個 grid,用來幫助查看應用佈局及使得佈局更美觀,可設置 grid 網格大小和顏色,android 推薦 48dp 和 8dp,可見 Android Design Guidelines – Metrics and Grids,比起 hierarchyviewer 相差甚遠,不過偶爾可用來作爲佈局查看工具。
    項目地址:https://github.com/inmite/android-grid-wichterle
    Demo 地址:https://play.google.com/store/apps/details?id=eu.inmite.android.gridwichterle

  4. Catlog
    手機端 log 查看工具,支持不同顏色顯示、關鍵字過濾、級別過濾、進程 id 過濾、錄製功能等
    項目地址:https://github.com/nolanlawson/Catlog
    在線演示:https://play.google.com/store/apps/details?id=com.nolanlawson.logcat

  5. PID Cat
    根據 package 查看 logcat 日誌
    項目地址:https://github.com/JakeWharton/pidcat

  6. ACRA
    應用崩潰信息日誌上報到 GoogleDoc 工具,網頁版展現結果三方開源地址https://github.com/BenoitDuffez/crashreportsviewer
    項目地址:https://github.com/ACRA/acra
    文檔介紹:https://github.com/ACRA/acra/wiki/BasicSetup

  7. Crashlytics
    提供豐富的應用崩潰信息日誌收集
    輕量級,豐富,可自定義應用崩潰信息收集器,附有郵件通知
    項目地址:http://www.crashlytics.com/
    集成插件:Android Studio, Eclipse and IntelliJ

  8. Android Resource Navigator
    chrome 插件,可以方便的查看 github 上 android 源碼工程的 styles.xml 和 themes.xml。主要功能:
    (1) 快速打開 android styles.xml themes.xml
    (2) 方便在資源間跳轉。styles.xml themes.xml 文件中資源鏈接跳轉,可以方便跳轉到某個資源
    (3) 方便查找某個 style 和 theme。chrome 地址欄輸入 arn+tab+搜索內容回車即可
    (4) 自動下載不同分辨率下的 drawable
    (5) 通過映射查找那些不是按照固定命名規則命名的 style 和 theme
    項目地址:https://github.com/jgilfelt/android-resource-navigator
    在線演示:https://chrome.google.com/webstore/detail/android-resource-navigato/agoomkionjjbejegcejiefodgbckeebo?hl=en&gl=GB

  9. android-resource-remover
    根據 lint 的提示刪除項目中無用的資源,減少包的大小
    項目地址:https://github.com/KeepSafe/android-resource-remover

  10. Telescope
    通過手勢截圖以特定主題發送到特定郵箱地址報告 Bug
    項目地址:https://github.com/mattprecious/telescope

  11. Complete Android Fragment & Activity Lifecycle
    完整的 Android Fragment/Activity 生命週期圖
    項目地址:https://github.com/xxv/android-lifecycle

  12. Bugsnag Notifier for Android
    通過Thread.UncaughtExceptionHandler捕獲應用未處理的異常崩潰 Bug 並用 Notification 展示同時上傳到後臺服務器
    項目地址:https://github.com/bugsnag/bugsnag-android
    文檔介紹:https://github.com/bugsnag/bugsnag-android#installation--setup

  13. Material Design Icons
    Google Material Design 規範中的 Icon
    項目地址:https://github.com/google/material-design-icons

  14. scrollscreenshot
    Android 滾動屏幕自動截圖 jar 包,支持縱向、橫向滾動截屏拼接
    項目地址:https://github.com/PGSSoft/scrollscreenshot
    效果圖:Renderings

  15. droidicon
    1600+的海量 Icon,包括 750+的 Material Design icons
    項目地址:https://github.com/theDazzler/droidicon

  16. leakcanary
    Android 內存泄露檢測工具,集成方便,出現泄露後報告直觀
    項目地址:https://github.com/square/leakcanary
    效果圖:Renderings

  17. CacheUtilsLibrary
    將任何Java Object類型的數據序列化後寫入緩存文件,將來使用時讀取緩存文件並反序列化成對應Java Object的庫
    項目地址:https://github.com/westlinkin/CacheUtilsLibrary

  18. BlockCanary
    BlockCanary是一個Android平臺的一個非侵入式的性能監控組件,應用只需要實現一個抽象類,提供一些該組件需要的上下文環境,就可以在平時使用應用的時候檢測主線程上的各種卡慢問題,並通過組件提供的各種信息分析出原因並進行修復。
    項目地址: https://github.com/moduth/blockcanary

第五部分

主要介紹那些樂於分享並且有一些很不錯的開源項目的個人和組織。Follow 大神,深挖大神的項目和 following,你會發現很多。

一、個人

  1. JakeWharton
    就職於 Square,絕對牛逼的大神,項目主要集中在 Android 版本兼容,ViewPager 及開發工具上
    Github 地址:https://github.com/JakeWharton
    代表作:ActionBarSherlock,Android-ViewPagerIndicator,Nine Old Androids,SwipeToDismissNOA,hugo,butterknife,Android-DirectionalViewPager, scalpel
    pidcat 另外對 square 及其他開源項目有很多貢獻
    主頁:http://jakewharton.com/

  2. Chris Banes
    Github 地址:https://github.com/chrisbanes
    代表作:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache,Android-PullToRefresh
    主頁:http://chris.banes.me/

  3. Koushik Dutta
    就職於 ClockworkMod
    Github 地址:https://github.com/koush
    代表作:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外對 https://github.com/CyanogenMod 的開源項目有很多貢獻
    主頁:http://koush.com/

  4. Simon Vig
    Github 地址:https://github.com/SimonVT
    代表作:android-menudrawer,MessageBar
    主頁:http://simonvt.net/

  5. Manuel Peinado
    Github 地址:https://github.com/ManuelPeinado
    代表作:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeader

  6. Emil Sj?lander
    Github 地址:https://github.com/emilsjolander
    代表作:StickyListHeaders,sprinkles,android-FlipView
    主頁:http://emilsjolander.se/

  7. greenrobot
    Github 地址:https://github.com/greenrobot
    代表作:greenDAO,EventBus
    主頁:http://greenrobot.de/

  8. Jeff Gilfelt
    Github 地址:https://github.com/jgilfelt
    代表作:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
    主頁:http://jeffgilfelt.com

  9. Romain Guy
    Android team 成員(2013.10 已離開 Android team,仍在 Google)
    Github 地址:https://github.com/romainguy
    代表作:ViewServer
    主頁:http://www.curious-creature.org/category/android/
    個人攝影作品:http://www.flickr.com/photos/romainguy

  10. sephiroth74
    就職於 Aviary.com
    Github 地址:https://github.com/sephiroth74
    代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
    主頁:http://www.sephiroth.it/

  11. Cyril Mottier
    Google 開發者專家認證,發佈一些 Android 技巧及文章
    Github 地址:https://github.com/cyrilmottier
    代表作:GreenDroid,Polaris
    主頁:http://cyrilmottier.com/

二、組織

  1. Square
    有態度有良心的企業,很多不錯的分享
    Github 地址:https://github.com/square
    代表作:okhttp、fest-android,android-times-square、picasso、dagger、spoon 等等
    主頁:http://square.github.io/

  2. Inmite s.r.o.
    Github 地址:https://github.com/inmite
    代表作:android-styled-dialogs,android-grid-wichterle,android-selector-chapek
    主頁:http://www.inmite.eu/

三、博客

部分國外著名 Android 開發者信息

License

Copyright 2014 [trinea.cn](http://www.trinea.cn/)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章