轉載一個很牛逼的控件收集帖...
第一部分 個性化控件(View)
主要介紹那些不錯個性化的 View,包括 ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style 等等。css
1、ListView
- android-pulltorefresh
一個強大的拉動刷新開源項目,支持各類控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment 上下左右拉動刷新,比下面 johannilsson 那個只支持 ListView 的強大的多。而且它實現的下拉刷新 ListView 在 item 不足一屏狀況下也不會顯示刷新提示,體驗更好。
項目地址:https://github.com/chrisbanes/Android-PullToRefresh
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
APP 示例:新浪微博各個頁面
- android-pulltorefresh-listview
下拉刷新 ListView,這個被不少人使用的項目實際有很多 bug,推薦使用 android-Ultra-Pull-to-Refresh
項目地址:https://github.com/johannilsson/android-pulltorefresh
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refresh-listview-demo.apk?raw=true
- android-Ultra-Pull-to-Refresh
下拉刷新,第一個項目已經中止維護了,而且使用起來相對複雜,定製性也差。這個是替代和改良方案。這個繼承於 ViewGroup 能夠包含任何 View。功能甚至比 SwipeRefreshLayout 強大。使用起來很是簡單。良好的設計,若是你想定製本身的 UI 樣式,很是簡單,就像給 ListView 加一個 Header View 那麼簡單。支持 API LEVEL >= 8
項目地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh
原理剖析文檔:android-Ultra-Pull-to-Refresh
Demo 地址:https://raw.githubusercontent.com/liaohuqiu/android-Ultra-Pull-To-Refresh/master/ptr-demo.apk
效果圖:
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
- Android-PullToRefreshRecyclerView
支持下拉刷新的RecyclerView,同時支持滑動到底部自動加載數據、給RecyclerView添加Header。而且不更改原有RecyclerView的邏輯。
項目地址:https://github.com/HomHomLin/Android-PullToRefreshRecyclerView Demo地址:https://github.com/HomHomLin/Android-PullToRefreshRecyclerView/blob/master/sample.apk
- DragSortListView
拖動排序的 ListView,同時支持 ListView 滑動 item 刪除,各個 Item 高度不1、單選、複選、CursorAdapter 作爲適配器、拖動背景變化等
項目地址:https://github.com/bauerca/drag-sort-listview
Demo 地址:https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv
APP 示例:Wordpress Android
- SwipeListView
支持定義 ListView 左右滑動事件,支持左右滑動位移,支持定義動畫時間
項目地址:https://github.com/47deg/android-swipelistview
Demo 地址:https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview
APP 示例:微信
- Android-SlidingLayout
實現相似QQ、微信ListView和WebView的上拉下拉彈跳效果和iOS的ListView的果凍效果。兼容Android自帶庫和兼容庫的全部View組件,包括RecyclerView、ListView、ScrollView以及WebView等等。
項目地址:https://github.com/HomHomLin/SlidingLayout/。
Demo地址:https://github.com/HomHomLin/SlidingLayout/tree/master/demo
- 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
效果圖:
- Android-SwipeToDismiss
滑動 Item 消失 ListView,支持 3.0 如下版本見:https://github.com/JakeWharton/SwipeToDismissNOA
項目地址:https://github.com/romannurik/Android-SwipeToDismiss
Demo 地址:https://github.com/JakeWharton/SwipeToDismissNOA/SwipeToDismissNOA.apk/qr_code
- RecyclerViewSwipeDismiss
輕量級支持 support-v7 中的 RecyclerView 的滑動刪除(Swipe to dismiss)行爲,不須要修改源代碼,只要簡單的綁定onTouchListener
項目地址:https://github.com/CodeFalling/RecyclerViewSwipeDismiss
效果圖:
- QuickSideBar
幫助快速查閱對應分組的側邊欄,能夠配合任意列表,demo中給出配合RecyclerView(浮動分組使用stickyheadersrecyclerview)。
項目地址:https://github.com/saiwu-bigkoo/Android-QuickSideBar
效果圖:
- PinnedHeaderExpandableListView
首先它是一個 ExpandableListView,可是它的頭部能夠固定,其次,在它的上面還有一個頭部能夠來回伸縮
項目地址:https://github.com/singwhatiwanna/PinnedHeaderExpandableListView
效果圖:
APP 示例:百度手機衛士垃圾清理界面
- StickyListHeaders
GroupName 滑動到頂端時會固定不動直到另一個 GroupName 到達頂端的 ExpandListView,支持快速滑動,支持 Android2.3 及以上
項目地址:https://github.com/emilsjolander/StickyListHeaders
效果圖:
APP 示例:Android 4.0 聯繫人
- pinned-section-listview
GroupName 滑動到頂端時會固定不動直到另一個 GroupName 到達頂端的 ExpandListView
項目地址:https://github.com/beworker/pinned-section-listview
效果圖:
- PinnedHeaderListView
GroupName 滑動到頂端時會固定不動直到另一個 GroupName 到達頂端的 ExpandListView
項目地址:https://github.com/JimiSmith/PinnedHeaderListView
- QuickReturn
ListView/ScrollView 的 header 或 footer,當向下滾動時消失,向上滾動時出現
項目地址:https://github.com/lawloretienne/QuickReturn
Demo 地址:https://play.google.com/store/apps/details?id=com.etiennelawlor.quickreturn
- QuickReturnHeader
ListView/ScrollView 的 header 或 footer,當向下滾動時消失,向上滾動時出現
項目地址:https://github.com/ManuelPeinado/QuickReturnHeader
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=true
APP 示例:google plus
- IndexableListView
ListView 右側會顯示 item 首字母快捷索引,點擊可快速滑動到某個 item
項目地址:https://github.com/woozzu/IndexableListView
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=true
APP 示例:微信通信錄、小米聯繫人
- CustomFastScrollView
ListView 快速滑動,同時屏幕中間 PopupWindows 顯示滑動到的 item 內容或首字母
項目地址:https://github.com/nolanlawson/CustomFastScrollViewDemo
效果圖:
- Android-ScrollBarPanel
ListView 滑動時固定的 Panel 指示顯示在 scrollbar 旁邊
項目地址:https://github.com/rno/Android-ScrollBarPanel
效果圖:
- SlideExpandableListView
用戶點擊 listView item 滑出固定區域,其餘 item 的區域收縮
項目地址:https://github.com/tjerkw/Android-SlideExpandableListView
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=true
- JazzyListView
ListView 及 GridView item 以特殊動畫效果進入屏幕,效果包括 grow、cards、curl、wave、flip、fly 等等
項目地址:https://github.com/twotoasters/JazzyListView
Demo 地址:https://play.google.com/store/apps/details?id=com.twotoasters.jazzylistview.sample
在線演示:http://lab.hakim.se/scroll-effects/
- ListViewAnimations
帶 Item 顯示動畫的 ListView,動畫包括底部飛入、其餘方向斜飛入、下層飛入、漸變消失、滑動刪除等
項目地址:https://github.com/nhaarman/ListViewAnimations
Demo 地址:https://play.google.com/store/apps/details?id=com.haarman.listviewanimations
APP 示例:Google plus、Google Now 卡片式進入、小米系統中應用商店、聯繫人、遊戲中心、音樂、文件管理器的 ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、Car Hire、Super BART、DK FlashCards、Counter Plus、Voorlees Verhaaltjes 2.0
- DevsmartLib-Android
橫向 ListView
項目地址:https://github.com/dinocore1/DevsmartLib-Android
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk?raw=true
- TwoWayView
橫向 ListView 的效果,繼承自 AdapterView
項目地址:https://github.com/lucasr/twoway-view
- HorizontalVariableListView
支持 Item 寬度不一致的 ListView
項目地址:https://github.com/sephiroth74/HorizontalVariableListView
- LinearListView
用 LinearLayout 實現的 ListView,可解決多個 ListView 並存等問題。目前本身也有須要,等親自嘗試事後會再具體介紹
項目地址:https://github.com/frankiesardo/LinearListView
- MultiChoiceAdapter
支持多選的 ListView Adapter
項目地址:https://github.com/ManuelPeinado/MultiChoiceAdapter
Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.multichoiceadapter.demo
- EnhancedListView
支持橫向滑動刪除列表項以及撤銷刪除的 ListView,該項目的前身是SwipeToDismissUndoList
項目地址:https://github.com/timroes/EnhancedListView
Demo 地址:https://play.google.com/store/apps/details?id=de.timroes.android.listviewdemo&rdid=de.timroes.android.listviewdemo
- ListBuddies
自動滾動的雙列 ListView ,兩個 ListView 滾動速度不一致,有視差效果
項目地址:https://github.com/jpardogo/ListBuddies
Demo 地址:https://play.google.com/store/apps/details?id=com.jpardogo.android.listbuddies
效果圖:
- SwipeMenuListView
針對 ListView item 的側滑菜單
項目地址:https://github.com/baoyongzhang/SwipeMenuListView
效果圖:
APP 示例:手機 QQV5.0
- PagingListView
分頁加載的 ListView。當滑動到 ListView 底部最後一個元素時,顯示一個進度行,而後加載下一頁數據,並顯示。
項目地址:https://github.com/nicolasjafelle/PagingListView
- PullZoomView
支持下拉時 HeaderView 縮放的 ListView、ScrollView
項目地址:https://github.com/Frank-Zhu/PullZoomView
效果圖:
- PullToZoomInListView
滑動 ListView 時使其 HeaderView 跟隨滑動縮放
項目地址:https://github.com/matrixxun/PullToZoomInListView
效果圖:
- CalendarListview
實現每月一行日曆效果的 ListView
項目地址:https://github.com/traex/CalendarListview
原理剖析文檔:CalendarListview
效果圖:
- sticky-headers-recyclerview
GroupName 滑動到頂端時會固定不動直到另一個 GroupName 到達頂端的 ListView,採用 support-v7 中的 RecyclerView 實現
項目地址:https://github.com/timehop/sticky-headers-recyclerview
- PullSeparateListView
到達頂部或底部繼續拉動時,實現 Item 間的相互分離,兩種模式:(1) 所有分離的模式,即屏幕內全部 Item 都會分離 (2)部分分離模式,以點擊位置爲分界點,部分 item 分離
項目地址:https://github.com/chiemy/PullSeparateListView
效果圖:
- ExpandableLayout
Header 和 Content Item 均可以展開的 ExpandableListview
項目地址:https://github.com/traex/ExpandableLayout
- PagedHeadListView
支持 paginated header 以及 material page indicator 的 ListView.
項目地址:https://github.com/JorgeCastilloPrz/PagedHeadListView
效果圖:
- CustomSwipeListView
支持左滑彈出自定義菜單,右滑刪除且容許撤銷,同時能夠自定義滑動動畫時間和滑動觸發事件的時機等。
項目地址:https://github.com/xyczero/Android-CustomSwipeListView
Demo 地址:Download here
效果圖:
- Pull-to-Refresh.Rentals-Android
提供一個簡單能夠自定義的下拉刷新實現,Yalantis 出品。
項目地址:https://github.com/Yalantis/Pull-to-Refresh.Rentals-Android
效果圖:
- ScrollerCalendar
實現每行顯示一年的 12 個月份的 RecyclerView 年曆
項目地址:https://github.com/guanchao/ScrollerCalendar
效果圖:
- ExtractWordView
一個能夠提取單詞的 ListView,支持"放大鏡"效果。
項目地址:https://github.com/jcodeing/ExtractWordView
Demo 地址:Download here
效果圖:
- FlyRefresh
支持 ListView, GridView, RecyclerView, ScrollView 的下拉刷新
項目地址:https://github.com/race604/FlyRefresh
效果圖:
- MVCHelper
實現下拉刷新,滾動底部自動加載更多,分頁加載,自動切換顯示網絡失敗佈局,暫無數據佈局,支持任意 view,真正的 MVC 架構
支持切換主流下拉刷新框架 Android-PullToRefresh-Library,android-Ultra-Pull-To-Refresh-library,SwipeRefreshLayout
項目地址:https://github.com/LuckyJayce/MVCHelper
Demo 地址:https://github.com/LuckyJayce/MVCHelper/blob/master/raw/MVCHelper_Demo.apk?raw=true
- RecyclerViewSwipeDismiss
支持滑動 Item 操做、點擊展開、拖動排序、展開後拖動排序等特性的 RecyclerView
項目地址:https://play.google.com/store/apps/details?id=com.h6ah4i.android.example.advrecyclerview
視頻:http://www.youtube.com/watch?feature=player_embedded&v=S7cSwMArjUQ
- WaterDropListView
模仿 iOS 下拉刷新「水滴」效果,支持下拉刷新和上拉加載
項目地址:https://github.com/THEONE10211024/WaterDropListView
效果圖:
- PopupListView
實現ListItem 點擊後置頂並可顯示客製化添加的item的內部View 的ListView
項目地址:https://github.com/s8871404/PopupListView
Demo 地址:https://play.google.com/store/apps/details?id=com.baobomb.popuplistview_sample
效果圖:
- CircleRefreshLayout
一個包含有趣的動畫的自定義下拉刷新佈局
項目地址:https://github.com/tuesda/CircleRefreshLayout
效果圖:
- EasyRecyclerView
一款簡單易用的EasyRecyclerView 1.提供EasyRecyclerView,不須要寫太多RecyclerView的配置代碼
2.提供好一個能夠適配單佈局和多佈局的RecyclerViewAdapter
3.提供了分割線的實現類,只須要傳入一個DrawableId
項目地址:https://github.com/CaMnter/EasyRecyclerView
- CanRefresh 可適配全部視圖的下拉刷新上拉加載,並支持各類風格
項目地址:https://github.com/canyinghao/CanRefresh
效果圖:
- NestRefreshLayout
下拉刷新及加載更多控件,支持多種View,能夠自定義Header和Footer 因爲實現了NestedScrollingChild和NestedScrollingParent因此與Support-Design兼容,能夠配合CollapsingToolbarLayout使用
項目地址:https://github.com/anzewei/NestRefreshLayout
Demo 地址:https://github.com/anzewei/NestRefreshLayout/blob/master/ext/sample-debug.apk?raw=true
- SnappingSwipingRecyclerView 實現了相似微信讀書首頁的長按以後滑動刪除的特效和動畫 項目地址:https://github.com/CarlLee/SnappingSwipingRecyclerView
2、ActionBar
- ActionBarSherlock
爲 Android 全部版本提供統一的 ActionBar,解決 4.0 如下 ActionBar 的適配問題
項目地址:https://github.com/JakeWharton/ActionBarSherlock
Demo 地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos
標籤:兼容庫, ActionBar
- ActionBar-PullToRefresh
下拉刷新,ActionBar 出現加載中提示
項目地址:https://github.com/chrisbanes/ActionBar-PullToRefresh
Demo 地址:https://play.google.com/store/apps/details?id=uk.co.senab.actionbarpulltorefresh.samples.stock
APP 示例:Gmail,Google Plus,知乎等
- FadingActionBar
ListView 向下滾動逐漸顯現的 ActionBar
項目地址:https://github.com/ManuelPeinado/FadingActionBar
Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demo
APP 示例:google music,知乎
- NotBoringActionBar
google music 下拉收縮的 ActionBar
項目地址:https://github.com/flavienlaurent/NotBoringActionBar
Demo 地址:http://flavienlaurent.com/blog/2013/11/20/making-your-action-bar-not-boring/
APP 示例:Google 音樂
- RefreshActionItem
帶進度顯示和刷新按鈕的 ActionBar
項目地址:https://github.com/ManuelPeinado/RefreshActionItem
Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.refreshactionitem.demo
APP 示例:The New York Times,DevAppsDirect
- GlassActionBar
相似玻璃的有必定透明度的 ActionBar
項目地址:https://github.com/ManuelPeinado/GlassActionBar
Demo 地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.glassactionbardemo
APP 示例:google music
3、Menu
- MenuDrawer
滑出式菜單,經過拖動屏幕邊緣滑出菜單,支持屏幕上下左右劃出,支持當前 View 處於上下層,支持 Windows 邊緣、ListView 邊緣、ViewPager 變化劃出菜單等。
項目地址:https://github.com/SimonVT/android-menudrawer
Demo 地址:http://simonvt.github.io/android-menudrawer/
APP 示例:Gmail、Google Music 等大部分 google app
- SlidingMenu
滑出式菜單,經過拖動屏幕邊緣滑出菜單,支持屏幕左右劃出,支持菜單 zoom、scale、slide up 三種動畫樣式出現。與 MenuDrawer 相比而言,SlidingMenu 支持菜單動畫樣式出現,MenuDrawer 支持菜單 view 處於內容的上下層
項目地址:https://github.com/jfeinstein10/SlidingMenu
原理剖析文檔:SlidingMenu
Demo 地址:https://play.google.com/store/apps/details?id=com.slidingmenu.example
APP 示例:Foursquare, LinkedIn, Zappos, Rdio, Evernote Food, Plume, VLC for Android, ESPN ScoreCenter, MLS MatchDay, 9GAG, Wunderlist 2, The Verge, MTG Familiar, Mantano Reader, Falcon Pro (BETA), MW3 Barracks
- ArcMenu
支持相似 Path 的左下角動畫旋轉菜單及橫向劃出菜單、圓心彈出菜單
項目地址:https://github.com/daCapricorn/ArcMenu
效果圖:
https://dl.dropboxusercontent.com/u/11369687/preview1.png
https://dl.dropboxusercontent.com/u/11369687/raymenu.png
APP 示例:Path
- android-satellite-menu
相似 Path 的左下角動畫旋轉菜單
項目地址:https://github.com/siyamed/android-satellite-menu
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/satellite-menu-demo.apk?raw=true
APP 示例:Path
- radial-menu-widget
圓形菜單,支持二級菜單
項目地址:https://code.google.com/p/radial-menu-widget/
效果圖:
- Android Wheel Menu
圓形旋轉選取菜單
項目地址:https://github.com/anupcowkur/Android-Wheel-Menu
效果圖:
- FoldingNavigationDrawer
滑動並以摺疊方式打開菜單
項目地址:https://github.com/tibi1712/FoldingNavigationDrawer-Android
Demo 地址:https://play.google.com/store/apps/details?id=com.ptr.folding.sample
效果圖:
- AndroidResideMenu
仿 Dribbble 的邊欄菜單
項目地址:https://github.com/SpecialCyCi/AndroidResideMenu
效果圖:
- CircularFloatingActionMenu
一個可定製的圓形的浮動菜單控件,相似於 Path 的圓形菜單。這個控件的可定製性更強,能夠很容易的定製菜單出現消失時的動畫,起始角度和半徑。
項目地址:https://github.com/oguzbilgener/CircularFloatingActionMenu
原理剖析文檔:CircularFloatingActionMenu
Demo 地址:https://github.com/oguzbilgener/CircularFloatingActionMenu/tree/master/samples
效果圖:
- NavigationDrawerSI
Navigation Drawer 的一個簡單實現,滑動並以摺疊方式打開菜單
項目地址:https://github.com/mmBs/NavigationDrawerSI
Demo 地址:https://play.google.com/store/apps/details?id=mmbialas.pl.navigationdrawersi
效果圖:
APP 示例:https://play.google.com/store/apps/details?id=mmbialas.pl.navigationdrawersi
- DragLayout
使用 support.v4 包下的 ViewDragHelper 實現 QQ5.0 側滑
項目地址:https://github.com/BlueMor/DragLayout
效果圖:
- LDrawer
Material Design 形式的展開摺疊 Icon
項目地址:https://github.com/ikimuhendis/LDrawer
效果圖:
- Floating Action Button
懸浮的圓形菜單欄,支持組建滾動時自動隱藏及其餘設置
項目地址:https://github.com/shamanland/floating-action-button
效果圖:
- Side-Menu.Android
分類側滑菜單,Yalantis 出品。
項目地址:https://github.com/Yalantis/Side-Menu.Android
原理剖析文檔:Side-Menu.Android
效果圖:
- Context-Menu.Android
能夠方便快速集成漂亮帶有動畫效果的上下文菜單,Yalantis出品。
項目地址:https://github.com/Yalantis/Context-Menu.Android
效果圖:
- Droppy
支持多種樣式的下拉菜單
項目地址:https://github.com/shehabic/Droppy
- MaterialDrawer
Material Design 風格的導航抽屜,提供簡便且強大的定製功能
項目地址:https://github.com/mikepenz/MaterialDrawer
Demo 地址:https://play.google.com/store/apps/details?id=com.mikepenz.materialdrawer.app
效果圖:
- SlideBottomPanel
底部劃出菜單,滑動時背景圖透明度漸變,支持嵌套 LiewView 或 ScrollView
項目地址:https://github.com/kingideayou/SlideBottomPanel
Demo 地址:SlideBottomPanelDemo 下載
效果圖:
- FlowingDrawer
帶手勢流動效果側滑菜單 項目地址:https://github.com/mxn21/FlowingDrawer 效果圖:
- FloatingActionMenu-Animation
擴展FloatingActionMenu庫,自定義菜單圖標,動畫滾動時 項目地址: https://github.com/toanvc/FloatingActionMenu-Animation
效果圖:
4、ViewPager 、Gallery
- AdvancedPagerSlidingTabStrip
一個完美兼容ViewPager的導航欄組件;能夠自定義TabView;能動態加載Tab上的Icon圖片; 能顯示Tab的消息數量和提示小圓點;支持自定義爲微博形式的可滑動tab。
項目地址:https://github.com/HomHomLin/AdvancedPagerSlidingTabStrip。
- ConvenientBanner
通用的廣告欄控件,讓你輕鬆實現廣告頭效果。支持無限循環,能夠設置自動翻頁和時間(並且很是智能,手指觸碰則暫停翻頁,離開自動開始翻頁。你也能夠設置在界面onPause的時候不進行自動翻頁,onResume以後繼續自動翻頁),而且提供多種翻頁特效。 對比其餘廣告欄控件,大多都須要對源碼進行改動才能加載網絡圖片,或者幫你集成不是你所須要的圖片緩存庫。而這個庫能讓有代碼潔癖的你歡喜,不須要對庫源碼進行修改你就可使用任何你喜歡的網絡圖片庫進行配合。 項目地址:https://github.com/saiwu-bigkoo/Android-ConvenientBanner
效果圖:
- Android-ViewPagerIndicator
配合 ViewPager 使用的 Indicator,支持各類位置和樣式
項目地址:https://github.com/JakeWharton/Android-ViewPagerIndicator
Demo 地址:https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample
APP 示例:太多了。。
- JazzyViewPager
支持 Fragment 切換動畫的 ViewPager,動畫包括轉盤、淡入淡出、翻頁、層疊、旋轉、方塊、翻轉、放大縮小等,效果相似桌面左右切換的各類效果,不過桌面並不是用 ViewPager 實現而已
項目地址:https://github.com/jfeinstein10/JazzyViewPager
Demo 地址:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
- JellyViewPager
特殊切換動畫的 ViewPager
項目地址:https://github.com/chiemy/JellyViewPager
效果圖:
- Android-DirectionalViewPager
支持橫向和縱向(垂直)的 ViewPager
項目地址:https://github.com/JakeWharton/Android-DirectionalViewPager
Demo 地址:https://market.android.com/details?id=com.directionalviewpager.sample
- FancyCoverFlow
支持 Item 切換動畫效果的相似 Gallery View
項目地址:https://github.com/davidschreiber/FancyCoverFlow
Demo 地址:https://play.google.com/store/apps/details?id=at.technikum.mti.fancycoverflow.samples
效果圖:
- AndroidTouchGallery
支持雙擊或雙指縮放的 Gallery(用 ViewPager 實現),相比下面的 PhotoView,在被放大後依然能滑到下一個 item,而且支持直接從 url 和文件中獲取圖片,
項目地址:https://github.com/Dreddik/AndroidTouchGallery
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/touch-gallery-demo.apk?raw=true
APP 示例:相似微信中查看聊天記錄圖片時可雙擊放大,而且放大狀況下能正常左右滑動到先後圖片
- Android Auto Scroll ViewPager
Android 自動滾動 輪播循環的 ViewPager
項目地址:https://github.com/Trinea/android-auto-scroll-view-pager
Demo 地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文檔介紹:http://www.trinea.cn/android/auto-scroll-view-pager/
- Android PagerSlidingTabStrip
配合 ViewPager 使用的 Indicator,支持 ViewPager Scroll 時 Indicator 聯動
項目地址:https://github.com/astuetz/PagerSlidingTabStrip
原理剖析文檔:Android PagerSlidingTabStrip
Demo 地址:https://play.google.com/store/apps/details?id=com.astuetz.viewpager.extensions.sample
- ViewPager3D
ViewPager3D 效果
項目地址:https://github.com/inovex/ViewPager3D
- AnimaTabsview
仿網易雲音樂標籤切換的動畫,帶透明小三角
項目地址:https://github.com/wuyexiong/transparent-over-animtabsview
在線演示:http://v.youku.com/v_show/id_XNzA4MjY5NjA0.html
- LoopingViewPager
無限循環的 ViewPager
項目地址:https://github.com/imbryk/LoopingViewPager
- android_page_curl
翻書卷曲效果
項目地址:https://github.com/harism/android_page_curl
在線演示:https://www.youtube.com/watch?v=iwu7P5PCpsw
APP 示例:iReader
- ViewPagerIndicator
簡化並實現 android 的 TabHost 效果,頂部滑動 tab,引導頁,支持自定義 tab 樣式,自定義滑動塊樣式和位置,自定義切換 tab 的過渡動畫,子界面的預加載和界面緩存,設置界面是否可滑動
項目地址:https://github.com/LuckyJayce/ViewPagerIndicator
- ScreenSlideIndicator
輕量級的圓形 Indicadtor,位置能夠自由調整,不會對 ViewPager 產生任何影響。
項目地址:ScreenSlidePager
效果圖:
- 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
效果圖:
- AndroidImageSlider
Android 圖片滑動
項目地址:https://github.com/daimajia/AndroidImageSlider
效果圖:
App
示例:https://github.com/daimajia/AndroidImageSlider/releases/download/v1.0.8/demo-1.0.8.apk
- RecyclerViewPager
徹底繼承自 RecyclerView,能夠自定義觸發翻頁的距離,可自定義翻頁速度,支持垂直方向的 ViewPager,支持 Fragment。
項目地址:RecyclerViewPager
效果圖:
- CircleIndicator
輕量級ViewPager指示器,支持三種不一樣的模式
項目地址:CircleIndicator
效果圖:
- EasySlidingTabs
一款簡單、易用的滑動標籤頁
項目地址: https://github.com/CaMnter/EasySlidingTabs
效果圖:
- ParallaxViewPager
ViewPager頁面切換視差效果
項目地址:https://github.com/ybq/ParallaxViewPager
效果圖:
5、GridView
- StaggeredGridView
容許非對齊行的 GridView,相似 Pinterest 的瀑布流,而且跟 ListView 同樣自帶 View 緩存,繼承自 ViewGroup
項目地址:https://github.com/maurycyw/StaggeredGridView
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/staggered-gridview-demo.apk?raw=true
APP 示例:Pinterest 等
- AndroidStaggeredGrid
容許非對齊行的 GridView,相似 Pinterest 的瀑布流,繼承自 AbsListView
項目地址:https://github.com/etsy/AndroidStaggeredGrid
APP 示例:Pinterest 等
- PinterestLikeAdapterView
容許非對齊行的 GridView,相似 Pinterest 的瀑布流,容許下拉刷新
項目地址:https://github.com/GDG-Korea/PinterestLikeAdapterView
APP 示例:Pinterest 等
- DraggableGridView
Item 可拖動交換位置的 GridView,實際是本身繼承 ViewGroup 實現,相似桌面的單屏效果,可屏幕自動上下滾動進行 Item 移動交換,多屏效果見下面 PagedDragDropGrid
項目地址:https://github.com/thquinn/DraggableGridView
Demo 地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true
也可自定義item的寬高和每行的個數,同時修改了交換邏輯,當移動到另外一個item時就進行交換,並刪除滾動邏輯。
項目地址:DraggableGridView
效果圖:
- StickyGridHeaders
GroupName 滑動到頂端時會固定不動直到另一個 GroupName 到達頂端的 GridView
項目地址:https://github.com/TonicArtos/StickyGridHeaders
效果圖:
- PagedDragDropGrid
Item 可拖動交換位置、拖動刪除的自定義控件,實際是本身繼承 ViewGroup 實現,相似桌面的多屏效果,可拖動到屏幕邊緣,屏幕自動左右滾動進行 Item 移動交換,可拖動進行刪除,單屏效果見上面 DraggableGridView
項目地址:https://github.com/mrKlar/PagedDragDropGrid
在線演示:http://youtu.be/FYTSRfthSuQ
- Android-DraggableGridViewPager
Item 可拖動交換位置的 GridView,實際是本身繼承 ViewGroup 實現,相似桌面的多屏效果,可屏幕自動左右滾動進行 Item 移動交換,單屏效果見上面 DraggableGridView
項目地址:https://github.com/zzhouj/Android-DraggableGridViewPager
Demo 地址:https://github.com/Trinea/trinea-download/blob/master/draggable-grid-viewpager-demo.apk?raw=true
- TwoWayGridView
可橫向滾動的 GridView
項目地址:https://github.com/jess-anders/two-way-gridview
- PagingGridView
分頁加載的 GridView。當滑動到 GridView 底部最後一個行時,顯示一個進度行,而後加載下一頁數據,並顯示。
項目地址:https://github.com/nicolasjafelle/PagingGridView
- AsymmetricGridView
一個支持跨行和跨列可變 Item 大小的 GridView
項目地址:https://github.com/felipecsl/AsymmetricGridView
Demo 地址:https://play.google.com/store/apps/details?id=com.felipecsl.asymmetricgridview.app
效果圖:
- GridView with Header and Footer
和ListView
同樣帶頭部和底部的GridView
,用法和ListView
同樣
項目地址:https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter
效果圖:
6、ImageView
- PhotoView
支持雙擊或雙指縮放的 ImageView,在 ViewPager 等 Scrolling view 中正常使用,相比上面的 AndroidTouchGallery,不只支持 ViewPager,同時支持單個 ImageView
項目地址:https://github.com/chrisbanes/PhotoView
原理剖析文檔:PhotoView
Demo 地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sample
APP 示例:photup
- Fresco-ImageView
Fresco-ImageView是一種Android平臺的圖像控件,底層是對Fresco的封裝,能夠異步加載網絡圖片、項目資源和本地圖片,而且支持雙指縮放、圖片的基本處理以及Fresco的全部特性。
項目地址:https://github.com/HomHomLin/FrescoImageView。
- android-gif-drawable
支持 gif 顯示的 view,用 jni 實現的,編譯生成 so 庫後直接 xml 定義 view 便可,並且自己不依賴於其餘開源項目因此相對下面的 ImageViewEx 簡單的多
項目地址:https://github.com/koral--/android-gif-drawable
- ImageViewEx
支持 Gif 顯示的 ImageView,依賴不少,編譯過程很繁瑣
項目地址:https://github.com/frapontillo/ImageViewEx
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/imageviewex-demo.apk?raw=true
- RoundedImageView
帶圓角的 ImageView
項目地址:https://github.com/vinc3m1/RoundedImageView
效果圖:
- SelectableRoundedImageView
ImageView 容許四個角的每個有不一樣的半徑值。也容許橢圓形、圓形的形狀或者邊
項目地址:https://github.com/pungrue26/SelectableRoundedImageView
Demo 地址:https://play.google.com/store/apps/details?id=com.joooonho
效果圖:
- ColorArt
根據圖片的均色設置背景色顯示文字和圖片,相似 itune11 中效果
項目地址:https://github.com/MichaelEvans/ColorArt
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/color-art-demo.apk?raw=true
- CircleImageView
圓形的 ImageView
項目地址:https://github.com/hdodenhof/CircleImageView
效果圖:
- ImageViewZoom
支持放大和平移的 ImageView
項目地址:https://github.com/sephiroth74/ImageViewZoom
APP 示例:https://play.google.com/store/apps/details?id=com.aviary.android.feather
- KenBurnsView
實現 Ken Burns effect 效果,達到身臨其境效果的 ImageView
項目地址:https://github.com/flavioarfaria/KenBurnsView
- CustomShapeImageView
各類形狀的 ImageView, 相比上面的圓形 ImageView,多了更多形狀
項目地址:https://github.com/MostafaGazar/CustomShapeImageView
效果圖:
- Shape Image View
能夠自定義各類形狀的 ImageView, 而且支持邊框
項目地址:https://github.com/siyamed/android-shape-imageview
效果圖:
https://github.com/siyamed/android-shape-imageview/raw/master/images/all-samples.png
- TextDrawable
一個用於生成帶有文本或者字母的圖片的輕量級庫。擴展自 Drawable,所以可用於現有/自定義/網絡等 ImageView 類,而且包含一個流接口用於建立 drawables 以及一個定製的 ColorGenerator
項目地址:https://github.com/amulyakhare/TextDrawable
效果圖:
- android-smart-image-view
可從 URL 或 contact address book 加載圖片的 ImageView,支持緩存
項目地址:https://github.com/loopj/android-smart-image-view
- PhotoView
支持雙指/雙擊縮放的ImageView,支持從一個PhotoView縮放到另一個PhotoView(點擊圖片放大預覽),相對於其餘PhototView有更加平滑的縮放,平移的動畫,而且支持全部的ScaleType,能夠做爲普通的ImageView使用
項目地址:https://github.com/bm-x/PhotoView
效果圖:
- TextWithImageDrawable
一個能夠同時包含圖片和文字的drawable,使用方式相似TextView和它的drawableLeft之類的方法,功能比較全面,能夠代替TextView或是解決一些非得須要在ImageView中同時顯示文字和圖片的問題
項目地址:https://github.com/wuseal/TextWithImageDrawable
7、ProgressBar
- SmoothProgressBar
水平進度條
項目地址:https://github.com/castorflex/SmoothProgressBar
Demo 地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.smoothprogressbar.sample
- MaterialProgessBar
Material Design 的進度條,支持 Android 4.0
項目地址:https://github.com/DreaminginCodeZH/MaterialProgressBar
Demo 地址:https://github.com/DreaminginCodeZH/MaterialProgressBar/blob/master/dist/sample.apk
- ProgressWheel
支持進度顯示的圓形 ProgressBar
項目地址:https://github.com/Todd-Davies/ProgressWheel
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/progress-wheel-demo.apk?raw=true
- android-square-progressbar
在圖片周圍顯示進度
項目地址:https://github.com/mrwonderman/android-square-progressbar
Demo 地址:https://play.google.com/store/apps/details?id=net.yscs.android.square_progressbar_example
效果圖:
APP 示例:square
- HoloCircularProgressBar
Android4.1 時鐘 App 樣式
項目地址:https://github.com/passsy/android-HoloCircularProgressBar
效果圖:
APP 示例:Android4.1 時鐘 App
- ProgressButton
經過圖釘的不一樣狀態顯示進度
項目地址:https://github.com/f2prateek/progressbutton
文檔介紹:http://f2prateek.com/progressbutton/
效果圖:
- GoogleProgressBar
相似 google 多個圓形卡片翻轉的 progressBar
項目地址:https://github.com/jpardogo/GoogleProgressBar
效果圖:
- TH-ProgressButton
帶圓形進度顯示的按鈕
項目地址:https://github.com/torryharris/TH-ProgressButton
效果圖:
https://raw.github.com/Vyshakh-K/TH-ProgressButton/master/screenshots/progressshot2.png
- NumberProgressBar
帶數字進度的進度條
項目地址:https://github.com/daimajia/NumberProgressBar
效果圖:
- CircularProgressDrawable
帶圓形進度顯示的進度條
項目地址:https://github.com/Sefford/CircularProgressDrawable
效果圖:
- Android-RoundCornerProgressBar
Android 圓角 ProgressBar,可自定義圓角顏色和半徑,包括帶 Icon 和不帶 Icon 兩種類型。
項目地址:https://github.com/akexorcist/Android-RoundCornerProgressBar
效果圖:
- circular-progress-button
帶進度顯示的 Button
項目地址:https://github.com/dmytrodanylyk/circular-progress-button
效果圖:
- WaveView
一個波紋效果的 View,可用來作 ProgressBar
項目地址:https://github.com/john990/WaveView
Demo 地址:https://raw.github.com/john990/WaveView/master/screenshot%26apk/demo.unaligned.apk
效果圖:
- MaterialLoadingProgressBar
抽取自 SwipeRefreshLayout 的 Material Design 進度指示器
項目地址:https://github.com/lsjwzh/MaterialLoadingProgressBar
效果圖:
- MetaballLoading
A 2d metaball loading 項目地址:https://github.com/dodola/MetaballLoading 效果圖: 效果圖:
- SectorProgressView
一個圓形或環形的進度顯示控件,用圓中扇形的角度大小來表示進度信息
項目地址:https://github.com/timqi/SectorProgressView
Demo:apk download
效果圖:
- CircularFillableLoaders
一個能夠用於閃屏或者其餘地方加載的控件
項目地址:https://github.com/lopspower/CircularFillableLoaders
Demo地址:(https://play.google.com/store/apps/details?id=com.mikhaellopez.circularfillableloaderssample)
效果圖:
- PinWheel
一個旋轉的大風車Dialog 項目地址:https://github.com/codingWang/PinWheel
效果圖:
- ColorArcProgressBar 一個可定製的圓形進度條,經過xml參數配置可實現QQ健康中步數的弧形進度顯示、儀盤表顯示速度、最多見的下載進度條等功能。
項目地址:https://github.com/Shinelw/ColorArcProgressBar
效果圖:
- LoadingDrawable 一些酷炫的android加載動畫,能夠與任何組件配合使用做爲加載的組件或者ProgressBar。
項目地址:https://github.com/dinuscxj/LoadingDrawable 效果圖:
- Android-SpinKit
Android加載動畫庫
項目地址:https://github.com/ybq/Android-SpinKit
效果圖:
8、TextView
包括 TextView 及全部繼承自 TextView 控件,如 EditText、Button、RadioButtonhtml
- android-flowtextview
文字自動環繞其餘 View 的 Layout
項目地址:https://github.com/deano2390/FlowTextView
效果圖:
- Android Form EditText
驗證輸入合法性的編輯框,支持輸入、英文、ip、url 等多種正則驗證
項目地址:https://github.com/vekexasia/android-edittext-validator
Demo 地址:https://play.google.com/store/apps/details?id=com.andreabaccega.edittextformexample
- Emojicon
支持 emojis 的 TextView 和 EditText
項目地址:https://github.com/rockerhieu/emojicon
文檔介紹:http://rockerhieu.com/emojicon/
- android-circlebutton
Android 圓形按鈕,實際實現是繼承自 ImageView
項目地址:https://github.com/markushi/android-circlebutton
Demo 地址:https://github.com/markushi/android-circlebutton/blob/master/example/example.apk
- Segmented Radio Buttons for Android
iOS’s segmented controls 的實現
項目地址:https://github.com/vinc3m1/android-segmentedradiobutton
Demo 地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true
效果圖:
- Chips EditText Library
支持國家名字聯想從而選擇顯示該國國旗的 EditText,實際就是經過 SpannableStringBuilder 實現
項目地址:https://github.com/kpbird/chips-edittext-library
Demo 地址:https://github.com/kpbird/chips-edittext-library/tree/master/ChipsEditTextDemo/bin
- AutoFitTextView
可固定邊界內容字體大小自適應的 TextView
項目地址:https://github.com/grantland/android-autofittextview
- Shimmer for Android
文字發淡光的 TextView
項目地址:https://github.com/RomainPiel/Shimmer-android
- Titanic
能夠顯示水位上升降低(不知道該怎麼描述 囧)的 TextView
項目地址:https://github.com/RomainPiel/Titanic
效果圖:
- android-iconify
提供帶 Icon 的 TextView,Menu,Button 等
項目地址:https://github.com/JoanZapata/android-iconify
- Calligraphy
讓咱們在 android 開發中使用自定義字體變得更加簡單
項目地址:https://github.com/chrisjenx/Calligraphy
效果圖:
- CreditsRoll
相似星球大戰字幕效果的 TextView
項目地址:https://github.com/frakbot/CreditsRoll
- android-process-buton
帶加載或提交進度的 Button
項目地址:https://github.com/dmytrodanylyk/android-process-buton
- FButton
扁平化的 Button
項目地址:https://github.com/hoang8f/android-flat-button
Demo 地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demo
- FloatingActionButton
一個相似 Android 版 Google+浮動功能按鈕的控件,能夠響應 ListView 的滾動事件。當列表向上滾動的時候會自動顯示,向下滾動的時候自動隱藏。
項目地址:https://github.com/makovkastar/FloatingActionButton
Demo 地址:https://github.com/makovkastar/FloatingActionButton/tree/master/
效果圖:
- Android Saripaar
Android 表單驗證
項目地址:https://github.com/ragunathjawahar/android-saripaar/
- JumpingBeans
文字像 Mexican beans 同樣跳動
項目地址:https://github.com/frakbot/JumpingBeans
Demo 地址:http://play.google.com/store/apps/details?id=net.frakbot.jumpingbeans.demo
效果圖:
- FancyButtons
一個不用圖片就能夠幫助咱們建立出漂亮按鈕的庫。
項目地址:https://github.com/medyo/fancybuttons
Demo 地址:https://github.com/medyo/fancybuttons/tree/master/samples
效果圖:
https://raw.githubusercontent.com/medyo/fancybuttons/master/screenshots/fancy2.png
- Android-RobotoTextView
一個實現了全部 Roboto 字體的 TextView,包括新出的 Roboto Slab 字體。
項目地址:https://github.com/johnkil/Android-RobotoTextView
Demo 地址:http://play.google.com/store/apps/details?id=com.devspark.robototextview
Demo 項目:https://github.com/johnkil/Android-RobotoTextView/tree/master/robototextview-sample
效果圖:
- Android-WizardPager
一個表單嚮導庫
項目地址:https://github.com/romannurik/android-wizardpager
Demo 項目:https://github.com/str4d/android-wizardpager/tree/textfield
效果圖:
- RippleView
一個實現了 Android L 上才引入的點擊按鈕後出現水波紋效果的按鈕
項目地址:https://github.com/siriscac/RippleView
Demo 項目:https://github.com/siriscac/RippleView/tree/master/RippleViewExample
效果圖:
- RippleEffect
一個實現 Material Design Ripple 效果的庫,支持 Android API 9+以上版本。
項目地址:https://github.com/traex/RippleEffect
Demo 項目:https://github.com/traex/RippleEffect/tree/master/sample
效果圖:
- RippleCompat 使用易於移植的方式爲UI控件實現波紋效應,能夠適配控件原背景及Palette支持。api簡單,可自定義效果,兼容至Android API 7+。 項目地址:https://github.com/desmond1121/RippleCompat Demo 項目:https://github.com/desmond1121/RippleCompat/tree/master/app 效果圖:
palette效果: java
- Android Floating Label Widgets
包含一系列控件,這些控件特色是:有默認值,當值不爲空時默認值浮動到上面變爲提示
項目地址:https://github.com/marvinlabs/android-floatinglabel-widgets
Demo 地址:https://play.google.com/store/apps/details?id=com.marvinlabs.widget.floatinglabel.demo
在線演示:http://www.youtube.com/watch?v=hpZD9gJcRg0&feature=youtu.be
- MaterialEditText
EditText 的 Material Design 實現。包含 Google Material Design Spec中的 UI 效果和一些新增特性。
項目地址:https://github.com/rengwuxian/MaterialEditText
- MaterialEditText
實現 Material Design 中 Ripple 效果線條背景的 EditText。直接替換原生 EditText 便可集成。
項目地址:https://github.com/DreamingInCodeZH/MaterialEditText
- MultiActionTextView
能夠分別給 TextView 中的某幾個字設置點擊事件的 TextView
項目地址:https://github.com/ajaysahani/MultiActionTextView
效果圖:
- ToggleButton
狀態切換的 Button,相似 iOS,用 View 實現
項目地址:https://github.com/zcweng/ToggleButton
效果圖:
- SwitchButton
狀態切換的 Button,相似 iOS,擁有良好的用戶界面
項目地址:https://github.com/kyleduo/SwitchButton
效果圖:
- SlideSwitch
狀態切換的開關,能夠設置爲相似 IOS 的圓形,也能夠設置爲矩形,用 View 實現
項目地址:https://github.com/Leaking/SlideSwitch
效果圖:
- ExpandableTextView
可展開和收縮內容的 TextView。
項目地址:https://github.com/Manabu-GT/ExpandableTextView
效果圖:
- TagCloudView(支持 SingleLine 模式的標籤雲)
標籤雲效果,只須要一行代碼便可設置爲 SingleLine 模式,輕鬆實現知乎問題話題列表效果。SingleLine 模式時末尾文字及圖片可自定義。 項目地址:https://github.com/kingideayou/TagCloudView
示例APK地址:https://github.com/kingideayou/TagCloudView/raw/master/apk/Demo.apk
APP示例:知乎
效果圖:
- BubbleTextView Android Bubble View 項目地址:https://github.com/dupengtao/BubbleTextView 效果圖:
- shadow-layout Android Shadow Layout 解決了
CardView
:1.不能畫圓的陰影。2.設置陰影的位置。3.設置陰影顏色。 項目地址:https://github.com/dmytrodanylyk/shadow-layout 效果圖:
- MoneyTextView
一個支持加法運算的金額輸入TextView
項目地址:https://github.com/andyken/MoneyTextView
效果圖:
9、ScrollView
- Discrollview
支持滾動時 Item 淡入淡出,平移,縮放效果的 ScrollView
項目地址:https://github.com/flavienlaurent/discrollview
Demo 地址:https://github.com/flavienlaurent/discrollview/raw/master/sample.apk
- PullScrollView
仿照新浪微博 Android 客戶端我的中心的 ScrollView,下拉背景伸縮回彈效果。
項目地址:https://github.com/MarkMjw/PullScrollView
效果圖:
- ArcLayout
一個很是簡單的弧佈局庫
項目地址:https://github.com/ogaclejapan/ArcLayout
Demo 地址:https://play.google.com/store/apps/details?id=com.ogaclejapan.arclayout.demo
效果圖:
https://raw.githubusercontent.com/ogaclejapan/ArcLayout/master/art/demo2.gif
- ParallaxScrollView
支持視差滾動的 ScrollView ,背景圖片的滾動速度小於 ScrollView 中子控件的滾動速度
項目地址:https://github.com/chrisjenx/ParallaxScrollView
Demo 地址:http://cloud.github.com/downloads/chrisjenx/ParallaxScrollView/ParallaxScrollViewDemo-v1.0.5.apk
- AKParallax-Android
支持視差滾動的 ScrollView
項目地址:https://github.com/ideaismobile/AKParallax-Android
Demo 地址:https://play.google.com/store/apps/details?id=com.appkraft.parallax_sample
- Android-ObservableScrollView
監聽滾動視圖滾動事件的庫,幫助與 Toolbar 的交互動效處理與 Material Design 的實現
項目地址:https://github.com/ksoichiro/Android-ObservableScrollView
Demo 地址:https://play.google.com/store/apps/details?id=com.github.ksoichiro.android.observablescrollview.samples2
- OverScrollView
有彈性的 ScrollView,實現了當手指滑動到 ScrollView 的頂部、底部時,能夠繼續的向上、向下拉伸。當釋放手指的時候,向上、下回彈
項目地址:https://github.com/EverythingMe/OverScrollView
10、TimeView
包括 TimePicker、DatePicker、CalendarView、Clock 等時間相關控件python
- android-times-square
Android 日曆時間部件,支持選取單個日期,多個日期,及日期區間段和對話框形式顯示
項目地址:https://github.com/square/android-times-square
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/times-square-demo.apk?raw=true
- android-calendar-card
日曆
項目地址:https://github.com/kenumir/android-calendar-card
Demo 地址:https://play.google.com/store/apps/details?id=com.wt.calendarcardsample
效果圖:
- AndroidWheel
Android Wheel 支持城市、多種日期時間、密碼、圖片
項目地址:https://code.google.com/p/android-wheel/
效果圖:
- GoogleDateTimePickers
時間選擇部件
項目地址:https://github.com/Mirkoddd/GoogleDateTimePickers
文檔介紹:https://play.google.com/store/apps/details?id=com.mirko.sample&hl=it
- DateTimePicker
日期選擇部件(Google Agenda 的樣式風格)
項目地址:https://github.com/flavienlaurent/datetimepicker
Demo 地址:https://raw.github.com/biboune/datetimepicker/master/datetimepicker-sample.apk
效果圖:
- android-betterpickers
提供日期、數字、時間(數字方式和鐘錶方式)、重複週期(鬧鐘的週期重複)、HMS(時、分、秒)的選擇,支持以 DialogFragment 的彈窗選擇
項目地址:https://github.com/derekbrameyer/android-betterpickers
Demo 地址:https://play.google.com/store/apps/details?id=com.doomonafireball.betterpickers.sample
效果圖:
- Android Week View
日期控件,支持周,天視圖,支持自定義樣式
項目地址:https://github.com/alamkanak/Android-Week-View
效果圖:
- PickerView
仿 iOS 的 PickerView 控件,有時間選擇和選項選擇並支持一二三級聯動效果,TimePopupWindow 時間選擇器,支持年月日時分,年月日,時分等格式;OptionsPopupWindow 選項選擇器,支持一,二,三級選項選擇,而且能夠設置是否聯動
項目地址:https://github.com/saiwu-bigkoo/Android-PickerView
效果圖:
- CountdownView
Android 倒計時控件,使用Canvas繪製,支持多種樣式
項目地址:https://github.com/iwgang/CountdownView
效果圖:
11、TipView
包括 Toast、角標、UndoBar 等提示性控件react
- SVProgressHUD SVProgressHUD For Android 精仿iOS的提示庫 SVProgressHUD,api也幾乎同樣。
項目地址:https://github.com/saiwu-bigkoo/Android-SVProgressHUD
效果圖:
- Crouton
豐富樣式的 Toast,容許 alert、comfirm、info 樣式及點擊消失樣式,容許設置 Toast 顯示時間,容許自定義 View。 本文 32. SuperToasts 爲其擴展版
項目地址:https://github.com/keyboardsurfer/Crouton
Demo 地址:http://play.google.com/store/apps/details?id=de.keyboardsurfer.app.demo.crouton
- supertooltips
帶動畫效果的 Tips 顯示
項目地址:https://github.com/nhaarman/supertooltips
Demo 地址:https://play.google.com/store/apps/details?id=com.haarman.supertooltips
- Android ViewBadger
爲其餘 View 添加角標(消息圓點)等
項目地址:https://github.com/jgilfelt/android-viewbadger
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/android-viewbadger.apk?raw=true
效果圖:
- SuperToasts
更豐富樣式的 toast,支持 Button、Progress、Horizontal Progress 樣式、支持進入動畫、支持撤銷及其動畫設置
項目地址:https://github.com/JohnPersano/SuperToasts
Demo 地址:https://play.google.com/store/apps/details?id=com.supertoastsdemo
效果圖:
- UndoBar
屏幕底部顯示取消或是確認的 PopupWindows
項目地址:https://github.com/soarcn/UndoBar
效果圖:
- UndoBar
屏幕底部顯示取消或是確認某操做
項目地址:https://github.com/jenzz/Android-UndoBar
效果圖:
- Android-ActionItemBadge
能夠在 ActionBar 的 MenuItem 上顯示一個小角標
項目地址:https://github.com/mikepenz/Android-ActionItemBadge
效果圖:
- SnackBar
Material Design 風格的 Toast,相似 Google inbox 中的提示
項目地址:https://github.com/MrEngineer13/SnackBar
Demo 地址:https://play.google.com/store/apps/details?id=com.mrengineer13.snackbar.sample
效果圖:
- HeadsUp
在 2.3 上使用 android 5.0 的 HeadsUp 效果
項目地址:https://github.com/zzz40500/HeadsUp
效果圖:![Renderings](gif](//upload-images.jianshu.io/upload_images/166866-543a5d26ab71d0f6.gif)
12、FlipView
- android-flip
相似 Flipboard 翻轉動畫的實現
項目地址:https://github.com/openaphid/android-flip
Demo 地址:https://github.com/openaphid/android-flip/blob/master/FlipView/Demo/APK/Aphid-FlipView-Demo.apk?raw=true
APP 示例:flipboard
- FlipImageView
支持 x、y、z 及動畫選擇的翻轉動畫的實現
項目地址:https://github.com/castorflex/FlipImageView
Demo 地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.flipimageview
- FoldableLayout
Flip 翻轉效果的 ListView,目前還不支持 ListView 緩存
項目地址:https://github.com/alexvasilkov/FoldableLayout
Demo 地址:http://play.google.com/store/apps/details?id=com.alexvasilkov.foldablelayout.sample
- FlipViewPager.Draco
Flip 翻轉效果的 ViewPager
項目地址:https://github.com/Yalantis/FlipViewPager.Draco
效果:
十3、ColorPickView
- ColorPickerView
顏色選擇器,支持 PopupWindows 或新的 Activity 中打開
項目地址:https://code.google.com/p/color-picker-view/
效果圖:
- HoloColorPicker
顏色選擇器
項目地址:https://github.com/LarsWerkman/HoloColorPicker
Demo 地址:https://docs.google.com/file/d/0BwclyDTlLrdXRzVnTGJvTlRfU2s/edit
- ColorPickerPreference
顏色選擇器
項目地址:https://github.com/attenzione/android-ColorPickerPreference
效果圖:
- ColorPicker
顏色選擇器(Google Agenda 中的樣式風格)
項目地址:https://github.com/flavienlaurent/colorpicker
Demo 地址:https://raw.github.com/biboune/colorpicker/master/colorpicker-sample.apk
效果圖:
十4、GraphView
- MPAndroidChart
強大的圖表繪製工具,支持折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、範圍(高至低)條形圖、網狀圖等;支持圖的拖拽縮放;支持 Android 2.2 以上,支持橫縱軸縮放,多指縮放,展示動畫、高亮、保存到 sdcard、從文件讀取圖表
項目地址:https://github.com/PhilJay/MPAndroidChart
Demo 地址:https://play.google.com/store/apps/details?id=com.xxmassdeveloper.mpchartexample
Demo 項目:https://github.com/PhilJay/MPAndroidChart/tree/master/MPChartExample
效果圖:
https://camo.githubusercontent.com/78b4bc4e50e151970961daf56e81c4c0db72d27c/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d5043686172742f6d61737465722f73637265656e73686f74732f73696d706c6564657369676e5f6261726368617274332e706e67
https://camo.githubusercontent.com/65f51783ec05038730b481ed614b57a94e867d86/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d5043686172742f6d61737465722f73637265656e73686f74732f626172636861727432642e706e67
https://camo.githubusercontent.com/f66a35bf430b12480d3e2ed8e3bc8d7a17db950f/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d5043686172742f6d61737465722f73637265656e73686f74732f626172636861727433642e706e67
https://camo.githubusercontent.com/60bd0d71462ad577df775b956944b191e939728a/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d50416e64726f696443686172742f6d61737465722f73637265656e73686f74732f70696563686172745f686f6c657261646975735f73706163652e706e67
https://camo.githubusercontent.com/6b254aa699df7f9464967009129c3017de721b77/68747470733a2f2f7261772e6769746875622e636f6d2f5068696c4a61792f4d50416e64726f696443686172742f6d61737465722f73637265656e73686f74732f7363617474657263686172742e706e67
在線演示:https://www.youtube.com/watch?v=ufaK_Hd6BpI
- achartengine
強大的圖表繪製工具,支持折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、範圍(高至低)條形圖、撥號圖/表、立方線圖及各類圖的結合
項目地址:https://code.google.com/p/achartengine/
效果圖:
http://www.achartengine.org/dimages/sales_line_and_area_chart.png
http://www.achartengine.org/dimages/temperature_range_chart.png
http://www.achartengine.org/dimages/combined_chart.png
http://www.achartengine.org/dimages/budget_chart.png
官網網址:http://www.achartengine.org/
APP 示例:Wordpress Android,Google Analytics
- GraphView
繪製圖表和曲線圖的 View,可用於 Android 上的曲形圖、柱狀圖、波浪圖展現
項目地址:https://github.com/jjoe64/GraphView
Demo 項目:https://github.com/jjoe64/GraphView-Demos
APP 示例:Wordpress Android,Google Analytics
- HoloGraphLibrary
繪製現狀圖、柱狀圖、餅狀圖
項目地址:https://bitbucket.org/danielnadeau/holographlibrary/src
文檔介紹:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home
- XCL-Charts
XCL-Charts 基於原生的 Canvas 來繪製各類圖表,在設計時,儘可能在保證開發效率的同時,給使用者提供足夠多的定製化能力。所以使用簡便,同時具備至關靈活的定製能力。目前支持 3D/非 3D 柱形圖(Bar Chart)、3D/非 3D 餅圖(Pie Chart)、堆積圖(Stacked Bar Chart)、面積圖(Area Chart)、 折線圖(Line Chart)、曲線圖(Spline Chart)、環形圖(Dount Chart)、南丁格爾玫瑰圖(Rose Chart)、儀表盤(Dial Chart)、刻度盤(Gauge Chart)、雷達圖(Radar Chart)、圓形圖(Circle Chart)等圖表。其它特性還包括支持圖表縮放、手勢移動、動畫顯示效果、高密度柱形顯示、圖表分界定製線、多圖表的混合顯示及同數據源不一樣類型圖表切換等。
項目地址:https://github.com/xcltapestry/XCL-Charts
Demo 地址:https://github.com/xcltapestry/XCL-Charts/blob/master/XCL-Charts-demo/bin/XCL-Charts-demo.apk?raw=true
- EazeGraph
Android 圖表庫,支持柱狀圖、分層柱狀圖、餅狀圖、線性圖
項目地址:https://github.com/blackfizz/EazeGraph
Demo 地址:https://play.google.com/store/apps/details?id=org.eazegraph.app
- WilliamChart
繪製圖表的庫,支持 LineChartView、BarChartView 和 StackBarChartView 三中圖表類型,而且支持 Android 2.2 及以上的系統。
項目地址:https://github.com/diogobernardino/WilliamChart
Demo 地址:https://play.google.com/store/apps/details?id=com.db.williamchartdemo
Demo 項目:https://github.com/diogobernardino/WilliamChart/tree/master/sample
效果圖:
- 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
- PieChartView
比較簡單直接的餅狀統計報表圖,使用方便,設置相應的屬性參數便可
項目地址:https://github.com/wuseal/PieChartView
Demo 地址:https://github.com/wuseal/PieChartView
效果圖:
十5、UI Style
不一樣樣式的系統 UI 風格,如 IOS、Bootstrap 風格linux
- UITableView
ios 風格控件,包括 Button、ListView、TableView
項目地址:https://github.com/thiagolocatelli/android-uitableview
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/ui-tableview-demo.apk?raw=true
- ATableView
ios 風格控件
項目地址:https://github.com/dmacosta/ATableView
Demo 地址:https://play.google.com/store/apps/details?id=com.nakardo.atableview.demo
- Cards-UI
卡片式 View,支持單個卡片,item 爲卡片的 ListView
項目地址:https://github.com/afollestad/Cards-UI
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/cards-ui-demo.apk?raw=true
- cardslib
卡片式 View,支持單個卡片,item 爲卡片的 ListView 和 GridView
項目地址:https://github.com/gabrielemariotti/cardslib
Demo 地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demo
- Android-Bootstrap
Bootstrap 風格的按鈕
項目地址:https://github.com/Bearded-Hen/Android-Bootstrap
效果圖:
- Material Design Android Library
Android L 中 Material Design 風格的組件適配到 Android 2.2+
項目地址:https://github.com/navasmdc/MaterialDesignLibrary
- Android FlatUI
Android 扁平化風格的組件,支持一些自定義樣式
項目地址:https://github.com/eluleci/FlatUI
效果圖:
- cheesesquare
全新 Android 設計庫演示 Demo,包括 Collapsing Toolbar、FloatingActionButton、View anchoring、NavigationView、Snackbar
項目地址:https://github.com/chrisbanes/cheesesquare
效果圖:
十6、其餘
- SnappingStepper
一種漂亮的UI控件,能更靈活的控制數字的增減。可用於購物車商品數量控制。
項目地址:https://github.com/saiwu-bigkoo/Android-SnappingStepper
效果圖:
- SwipeBackLayout
左右或向上滑動返回的 Activity
項目地址:https://github.com/Issacw0ng/SwipeBackLayout
Demo 地址:https://play.google.com/store/apps/details?id=me.imid.swipebacklayout.demo
APP 示例:知乎
- ParallaxBackLayout
視差滑動返回的 Activity 項目地址:https://github.com/anzewei/ParallaxBackLayout
Demo 地址:https://github.com/anzewei/ParallaxBackLayout/blob/master/ext/demo.apk?raw=true
效果圖:
- android-styled-dialogs
可自定義樣式的 dialog,默認與 Holo 主題樣式一致,在 Android2.2 以上同同樣式
項目地址:https://github.com/inmite/android-styled-dialogs
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/styled-dialogs-demo.apk?raw=true
- Android Sliding Up Panel
可拖動的 View,能在當前 Activity 上扶起一個可拖動的 Panel
項目地址:https://github.com/umano/AndroidSlidingUpPanel
Demo 地址:https://play.google.com/store/apps/details?id=com.sothree.umano
APP 示例:Google Music 精簡播放欄
- TableFixHeaders
第一列固定的 Table
項目地址:https://github.com/InQBarna/TableFixHeaders
Demo 地址:http://bit.ly/13buAIq
- Inscription
可用於展現應用 change 和 new feature 信息
項目地址:https://github.com/MartinvanZ/Inscription
- ActivityTransition
Activity 切換動畫,包括漸變、flip、某個位置進入等等
項目地址:https://github.com/ophilbert/ActivityTransition
文檔介紹:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
- EasyAndroidAnimations
針對 View 的各類動畫
項目地址:https://github.com/2359media/EasyAndroidAnimations
- ViewAnimation
對android view 動畫進行封裝,實現起更簡單,自帶三種常見運動路徑,其餘的可自定義
項目地址:https://github.com/guohuanwen/ViewAniamtion
效果圖:
APP 示例:QQ名片圈圈效果
- AndroidLoadingAnimation
多種android加載動畫
項目地址:https://github.com/guohuanwen/AndroidLoadingAnimation
效果圖:
- android-lockpattern
Android 的圖案密碼解鎖
項目地址:https://code.google.com/p/android-lockpattern/
原理剖析文檔:android-lockpattern
Demo 地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo
文檔介紹:https://code.google.com/p/android-lockpattern/wiki/QuickUse
APP 示例:Android 開機的圖案密碼解鎖,支付寶的密碼解鎖
- PatternLock
另外一個 Android 圖案解鎖庫
項目地址:https://github.com/DreaminginCodeZH/PatternLock
Demo 地址:https://github.com/DreaminginCodeZH/PatternLock/raw/master/dist/sample.apk
效果圖:
APP 示例:Android 開機的圖案密碼解鎖,支付寶的密碼解鎖
- RangeBar
相似於 SeekBar,不一樣的是能夠選擇一個範圍內的值而不是單個值
項目地址:https://github.com/edmodo/range-bar
Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/range-bar-demo.apk?raw=true
效果圖:
- ChromeView
利用 Chromium 實現的 WebView,解決各個 Android 版本 WebView 不一樣的問題,同時利用最新 Chrome 代碼
項目地址:https://github.com/pwnall/chromeview
- android-phased-seek-bar
支持預先定義狀態的 SeekBar
項目地址:https://github.com/ademar111190/android-phased-seek-bar
效果圖:
- Android Slider Preference Library
可添加到設置中的基於對話框的 RankBar 小部件
項目地址:https://github.com/jayschwa/AndroidSliderPreference
- ShowcaseView library
用於高亮顯示應用程序的特定部分,從而突出突出重點
項目地址:https://github.com/amlcurran/ShowcaseView
- android-segmented-control
Android 上的 Segmented Controls,至關於 RadioButton 組
項目地址:https://github.com/hoang8f/android-segmented-control
- Swipeable Cards
相似 Tinder 的卡片效果,能夠加載圖片並動畫效果展現,向左滑動表示喜歡,向右表示不喜歡
項目地址:https://github.com/kikoso/Swipeable-Cards
Demo 地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demo
- EdgeEffectOverride
改變 ScrollView, ListView, ExpandableListView, GridView, ViewPager 等滾動控件滾動到邊緣的顏色效果
項目地址:https://github.com/AndroidAlliance/EdgeEffectOverride
- android-pinned-header-listviews
使 ExpandListView 的 Group 滑動到頂端時會固定不動直到另一個 Group 到達頂端
項目地址:https://github.com/rtyley/android-pinned-header-listviews
- AndroidSwipeLayout
滑動 Layout,支持單個 View,ListView,GridView
項目地址:https://github.com/daimajia/AndroidSwipeLayout
Demo 地址:Download Demo
效果圖:
- DynamicCardLayout
在 Android 中實現的相似 Windows8 的瓷片佈局
項目地址:https://github.com/dodola/DynamicCardLayout
效果圖:
- Emoticons-Keyboard
帶表情情符號的自定義鍵盤
項目地址:https://github.com/chiragjain/Emoticons-Keyboard
效果圖:
- Android Typeface Helper
能夠幫你輕鬆實現自定義字體的庫
項目地址:https://github.com/norbsoft/android-typeface-helper
效果圖:
- Android-Anim-Playground
幾個動畫效果,其中第二個基於 android-svg 的繪製效果很是好
項目地址:https://github.com/Tibolte/Android-Anim-Playground
效果圖:
- AlertView 仿iOS的AlertViewController 幾乎完美還原iOS 的 AlertViewController ,同時支持Alert和ActionSheet模式,每個細節都是精雕細琢,並把api封裝成懶到極致模式,一行代碼就能夠進行彈窗.
項目地址:https://github.com/saiwu-bigkoo/Android-AlertView
效果圖:
- NiftyDialogEffects
支持自定義飛入動畫樣式的 Dialog
項目地址:https://github.com/sd6352051/NiftyDialogEffects
效果圖:
在線演示:http://tympanus.net/Development/ModalWindowEffects/
- PostOffice
建立 Holo 及 Material Design 樣式的 Dialog
項目地址:https://github.com/r0adkll/PostOffice
效果圖:
- Swipecards
相似 Tinder 的卡片效果,能夠加載圖片並動畫效果展現,向左滑動表示喜歡,向右表示不喜歡,根據 Kikoso's Swipeable-Cards 改造而來
項目地址:https://github.com/Diolor/Swipecards
- SeekArc
圓形的 SeekBar
項目地址:https://github.com/TriggerTrap/SeekArc
效果圖:
- BlurDialogFragment
顯示 DialogFragment 時背景模糊效果
項目地址:https://github.com/tvbarthel/BlurDialogFragment
Demo 地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.lib.blurdialogfragment.sample
- range-seek-bar
隨機值選取的 SeekBar
項目地址:https://github.com/yahoo/android-range-seek-bar
效果圖:
- MaterialRangeBar
能夠選擇一個範圍內的值而不是單個值的 SeekBar,RangeBar 的 Material Design 風格適配
項目地址:https://github.com/oli107/material-range-bar
效果圖:
- MaterialList
Material Design 風格的 CardView
項目地址:https://github.com/dexafree/MaterialList
Demo 地址:https://play.google.com/store/apps/details?id=com.dexafree.materiallistviewexample
效果圖:
- road-trip
設置 path 的各類動畫效果,以及如何實現複雜路徑動畫,相似於 ios 中的指紋註冊界面的指紋動畫效果
項目地址:https://github.com/romainguy/road-trip
效果圖:
- dialogplus
一個簡單的 Android 對話框,支持不一樣的彈出模式
項目地址:https://github.com/orhanobut/dialogplus
效果圖:
- FlowLayout
一個簡單的流式佈局,用法相似 LinearLayout,可是可以讓子元素根據寬度自動換行
項目地址:FLowLayout
效果圖:
- CircleSeekbar
一個環形Seekbar組件,支持疊加複合使用
項目地址:CircleSeekbar
效果圖:
- FinestWebView
美麗的和可定製的Android的活動,顯示在一個應用程序的網頁。
項目地址: https://github.com/TheFinestArtist/FinestWebView-Android
Sample 地址: https://play.google.com/store/apps/details?id=com.thefinestartist.finestwebview.sample
效果圖:
- YouTubePlayerActivity
只需通過一個URL來在新的活動播放YouTube視頻。它支持屏幕方向,媒體音量控制等。
項目地址: https://github.com/TheFinestArtist/YouTubePlayerActivity
Sample 地址: https://play.google.com/store/apps/details?id=com.thefinestartist.ytpa.sample
效果圖:
- material-camera
material風格的camera。能使camera使用起來更簡單的庫。
項目地址:https://github.com/afollestad/material-camera
效果圖:
- 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
效果圖:
- NotifyUtil
最多見的通知樣式庫
項目地址:https://github.com/wenmingvs/NotifyUtil
demo地址:https://github.com/wenmingvs/NotifyUtil#notifydemo
- CanPhotos 使用fresco選取多張圖片並可預覽圖片
項目地址:https://github.com/canyinghao/CanPhotos
效果圖:
- CanDialog 仿照系統Dialog所寫,繼承於FrameLayout,添加一些動畫,一些顯示類型。
項目地址:https://github.com/canyinghao/CanDialog
效果圖:
- WindRoseDiagramView 一個風力玫瑰圖的 View 組件,項目地址:
第二部分 工具庫
主要包括那些不錯的開發庫,包括依賴注入框架、圖片緩存、網絡請求、數據庫 ORM 建模、Android 公共庫、Android 高版本向低版本兼容、多媒體相關及其餘。android
1、依賴注入 DI
經過依賴注入減小 View、服務、資源簡化初始化,事件綁定等重複繁瑣工做ios
- 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 在編譯時生成子類,因此對性能沒有影響
- roboguice
幫你處理了不少代碼異常,利用 annotation 使得更少的代碼完成項目
項目地址:https://github.com/roboguice/roboguice
文檔介紹:https://github.com/roboguice/roboguice/wiki
- butterknife
利用 annotation 幫你快速完成 View 的初始化,減小代碼
項目地址:https://github.com/JakeWharton/butterknife
文檔介紹:http://jakewharton.github.io/butterknife/
- Dagger
依賴注入,適用於 Android 和 Java
項目地址:https://github.com/square/dagger
原理剖析文檔:Dagger
文檔介紹:http://square.github.io/dagger/
- AutoParcel
註解自動生成Parcelable實現代碼的庫
項目地址:https://github.com/frankiesardo/auto-parcel
這篇文章詳細介紹了它的使用方法:AutoParcel
做者認爲使用AutoParcel的好處是,能夠簡化構造函數,方便IDE代碼自動完成,方便測試,前向兼容,生成不可變的對象。
文檔介紹:https://github.com/frankiesardo/auto-parcel
2、圖片緩存
- 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
- picasso
square 開源的圖片緩存
項目地址:https://github.com/square/picasso
文檔介紹:http://square.github.io/picasso/
特色:(1)能夠自動檢測 adapter 的重用並取消以前的下載
(2)圖片變換
(3)能夠加載本地資源
(4)能夠設置佔位資源
(5)支持 debug 模式
- 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/
效果圖:
- fresco
一款強大的圖片緩存工具,由 Facebook 開發
項目地址:https://github.com/facebook/fresco
文檔介紹:http://frescolib.org/
特色:(1) 兩個內存緩存加上磁盤緩存構成了三級緩存
(2) 支持流式,能夠相似網頁上模糊漸進式顯示圖片
(3) 對多幀動畫圖片支持更好,如 Gif、WebP
(4) 更多樣的顯示,如圓角、進度條、點擊重試、自定義對焦點
(5) 更多樣的加載,如支持 EXIF、全面支持 WebP
(6) 支持 Android 2.3+
- Glide
Glide 是一個 android 平臺上的快速和高效的開源的多媒體資源管理庫,提供 多媒體文件的壓縮,內存和磁盤緩存, 資源池的接口。
它能夠最大性能地在 Android 設備上讀取、解碼、顯示圖片和視頻。Glide 能夠將遠程的圖片、視頻、動畫圖片等緩存在設備本地便於提升用戶瀏覽圖片的流暢體驗。
項目地址:https://github.com/bumptech/glide
特色:
(1) GIF 動畫的解碼
(2) 本地視頻劇照的解碼
(3) 支持縮略圖
(4) Activity 生命週期的集成
(5) 轉碼的支持
(6) 動畫的支持
(7) OkHttp 和 Volley 的支持
3、網絡請求
- 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
- 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
- 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?
- Async Http Client
Java 異步 Http 請求
項目地址:https://github.com/AsyncHttpClient/async-http-client
文檔介紹:http://sonatype.github.io/async-http-client/
- Ion
支持圖片、json、http post 等異步請求
項目地址:https://github.com/koush/ion
文檔介紹:https://github.com/koush/ion#more-examples
- Http Request
項目地址:https://github.com/kevinsawicki/http-request
文檔介紹:https://github.com/kevinsawicki/http-request#examples
- 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 緩存減小沒必要要的請求
- Retrofit
RESTFUL API 設計
項目地址:https://github.com/square/retrofit
文檔介紹:http://square.github.io/retrofit/
- RoboSpice
Android 異步網絡請求工具,支持緩存、REST 等等
項目地址:https://github.com/stephanenicolas/robospice
Demo 地址:https://github.com/stephanenicolas/RoboDemo/downloads
- TwistVolley
TwistVolley 是對 Volley 的一個封裝庫。提供相似 Picasso 同樣的串聯式 API。使得使用 Volley 更加方便。
項目地址:https://github.com/TwistedEquations/TwistVolley
- OkHttpFinal
一個對OkHttp封裝的簡單易用型HTTP請求和文件下載管理框架
項目地址:https://github.com/pengjianbo/OkHttpFinal
Demo 地址:https://github.com/pengjianbo/OkHttpFinal
4、數據庫 orm 工具包
orm 的 db 工具類,簡化建表、查詢、更新、插入、事務、索引的操做git
- greenDAO
Android Sqlite orm 的 db 工具類
項目地址:https://github.com/greenrobot/greenDAO
文檔介紹:http://greendao-orm.com/documentation/
官網網址:http://greendao-orm.com/
特色:(1) 性能佳
(2) 簡單易用的 API
(3) 內存小好小
(4) 庫大小小
- GreenDaoUpgradeHelper
greenDAO的數據庫升級幫助類,只需一行代碼解決數據庫升級
項目地址:https://github.com/yuweiguocn/GreenDaoUpgradeHelper
- ActiveAndroid
Android Sqlite orm 的 db 工具類
項目地址:https://github.com/pardom/ActiveAndroid
文檔介紹:https://github.com/pardom/ActiveAndroid/wiki/_pages
- 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/
- Realm
移動端的數據庫,適用於 Phone、Tablet、Wearable,支持 ORM,線程安全、支持連表及數據庫加密,比 SQLite 性能更好
項目地址:https://github.com/realm/realm-java
文檔介紹:http://realm.io/docs/java/0.72.0/
- ormlite-android
項目地址:https://github.com/j256/ormlite-android
文檔介紹:http://ormlite.com/sqlite_java_android_orm.shtml
- Schematic
根據 SQLite 生成 ContentProvider
項目地址:https://github.com/SimonVT/schematic
- DBFlow
Android SQLite ORM 工具庫。綜合了 Active Android, Schematic, Ollie,Sprinkles 等庫的優勢;經過註解實現,性能好;能生成 ContentProvider。
項目地址:https://github.com/Raizlabs/DBFlow
文檔介紹:https://github.com/Raizlabs/DBFlow#usage-docs
- SnappyDB SnappyDB是一個key-value數據庫,很是流行的NoSQL數據庫。 項目地址:https://github.com/nhachicha/SnappyDB 演示Demo:https://play.google.com/store/apps/details?id=com.snappydb.snippets.app 性能對比圖:
5、Android 公共庫
- 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
- 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)可根據系統配置初始化緩存等
- 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 等等)
- DropDownListView 下拉刷新及滑動到底部加載更多 ListView
文檔介紹:http://www.trinea.cn/android/dropdown-to-refresh-and-bottom-load-more-listview/
- shipfaster
整合了 Dagger Otto Retrofit Robolectric Picasso OkHttp,方便快速開發
項目地址:https://github.com/pyricau/shipfaster
- CleanAndroidCode
整合了 Dagger Otto AndroidAnnotations,方便快速開發
項目地址:https://github.com/pyricau/CleanAndroidCode
- xUtils
基於 Afinal,包含 DbUtils、ViewUtils、HttpUtils、BitmapUtils 四大模塊,可用於快速開發
項目地址:https://github.com/wyouflf/xUtils
原理剖析文檔:xUtils
- 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
- UltimateAndroid
UltimateAndroid 是一個快速開發 Android 應用的框架,框架目前主要包含的功能有 View Injection,ORM,異步網絡請求和圖片加載,自動化腳本測試,磁盤 LRU 等功能.同時提供了相似於 TripleDes、Webview 快速設置、Md5 處理、String 處理,Https 處理等經常使用工具類,還有超過 100 多種 UI 控件效果。
項目地址:https://github.com/cymcsg/UltimateAndroid
官網網址:http://blog.marshalchen.com/UltimateAndroid/
- 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(各類經常使用的工具類)
- Barber
Custom View 神器。經過簡單的註解幫助你大大減小 Custom View 中的代碼量。因爲和 ButterKnife 同樣使用了 Annotation Proccessor ,因此對程序性能沒有影響。
項目地址:https://github.com/hzsweers/barber
- 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
- RxAndroid
對RxJava在Android上的擴展,使得Android上也很容易實現reactive components,簡化線程操做,從而寫出很漂亮的代碼。
項目地址:https://github.com/ReactiveX/RxAndroid
文檔介紹:給Android 開發者的 RxJava 詳解
- MultiImageSelector
一個本地圖片選擇器,支持圖片的單選和多選,直接返回所選圖片的路徑。
項目地址:https://github.com/lovetuzitong/MultiImageSelector.git
6、Android 高版本向低版本兼容
- 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/
- 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
- SherlockNavigationDrawer
將 Android NavigationDrawer 和 ActionbarSherlock 結合,解決 4.0 如下 NavigationDrawer 的適配問題
項目地址:https://github.com/tobykurien/SherlockNavigationDrawer
文檔介紹:http://developer.android.com/training/implementing-navigation/nav-drawer.html
- Notifications4EveryWhere
將 Android 4.1 的 Notification 兼容到 Android2.2++
項目地址:https://github.com/youxiachai/Notifications4EveryWhere
- 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
- android-datepicker
將 Android 4.0 的 datepicker 兼容到 Android2.2++
項目地址:https://github.com/SimonVT/android-datepicker
- Transitions Everywhere
Android 4.4 的 Transitions API 兼容到 Android 2.2 以上
項目地址:https://github.com/andkulikov/transitions-everywhere
- KShareViewActivityManager
一個兼容Android 5.0 如下Shared Element Transition (頁面間共享元素位移動畫)庫
項目地址:https://github.com/kot32go/KShareViewActivityManager
效果圖:http://i8.tietuku.com/aa5726b8302ae711.gif
7、多媒體相關
- cocos2d-x
跨平臺的 2d 遊戲框架,支持 Android、IOS、Linux、Windows 等衆多平臺
項目地址:https://github.com/cocos2d/cocos2d-x
文檔介紹:http://www.cocos2d-x.org/wiki
官網網址:http://www.cocos2d-x.org/
- JustWeEngine
Android的輕量級遊戲框架,能大大縮減編寫原生遊戲的代碼量和難度,仍在持續更新中。
項目地址: https://github.com/lfkdsk/JustWeEngine
Demo地址: https://github.com/lfkdsk/EngineDemo
- 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)等常見的多種視頻流媒體協議,包括點播與直播。
- 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能夠拖動等等
- 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
- UniversalVideoView
Android上定義播放器控件,支持自定義控制UI, 全屏播放, 重力感應自動切換橫豎屏.
項目地址:https://github.com/linsea/UniversalVideoView
- 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
- 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
- Bitmap Smart Clipping using OpenCV
圖片智能裁剪保留重要部分顯示
項目地址:https://github.com/beartung/tclip-android
利用淘寶的 http://code.taobao.org/p/tclip/ 庫完成
一淘玩客正在使用的圖片裁剪,自動識別圖片中的重要區域,而且在圖片裁剪時保留重要區域
特色:(1). 能進行人臉識別。圖片中有人臉,將自動視爲人臉區域爲重要區域,將不會被裁剪掉
(2).自動其它重要區域。若是圖片中未識別出人臉,則會根據特徵分佈計算出重區域
- Cropper
圖片局部剪切工具,可觸摸控制選擇區域或旋轉
項目地址:https://github.com/edmodo/cropper
文檔介紹:https://github.com/edmodo/cropper/wiki
效果圖:
- uCrop
Yalantis 出品的強大的圖片裁剪庫 ,支持縮放,旋轉圖片,支持各類比例的裁剪框
項目地址:https://github.com/Yalantis/uCrop
效果圖:
- android-crop
圖片裁剪 Activity 項目地址:https://github.com/jdamcd/android-crop
效果圖:
- TileView
可分塊顯示大圖,支持 2D 拖動、雙擊、雙指放大、雙指捏合
項目地址:https://github.com/moagrius/TileView
Demo 地址:http://moagrius.github.io/TileView/TileViewDemo.apk
- BlurEffectForAndroidDesign
圖片模糊效果
項目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesign
- android-eye
PC 端網頁查看同一局域網內的手機攝像頭內容,能夠用來監控哦
項目地址:https://github.com/Teaonly/android-eye
Demo 地址:https://play.google.com/store/apps/details?id=teaonly.droideye
- libpng for Android
PNG 圖片的 jni 庫,支持幾乎 png 的全部特性
項目地址:https://github.com/julienr/libpng-android
文檔介紹:http://www.libpng.org/pub/png/libpng.html
- android-gpuimage
基於 GPU 的圖片濾鏡
項目地址:https://github.com/CyberAgent/android-gpuimage
- AndroidFaceCropper
圖片臉部自動識別,將識別後的局部圖片返回
項目地址:https://github.com/lafosca/AndroidFaceCropper
- 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
- svg-android
Android Svg 矢量圖形支持
項目地址:https://github.com/japgolly/svg-android https://github.com/japgolly/svg-android
- Android Visualizer
從 Android MediaPlayer 得到音頻,而後像 iTunes 及 WinAmp 同樣展現音軌
項目地址:https://github.com/felixpalmer/android-visualizer
- ExoPlayer
包括儀表板和 SmoothStreaming 自適應回放,緩存持久化和自定義渲染器,方便自定義和擴展,而且能夠經過應用商店更新
項目地址:https://github.com/google/ExoPlayer
- DanmakuFlameMaster
android 上開源彈幕解析繪製引擎項目
項目地址:https://github.com/ctiao/DanmakuFlameMaster
- OpenDanmaku
android 上一個輕量級的更簡單的開源彈幕控件
項目地址:https://github.com/linsea/OpenDanmaku
8、事件總線(訂閱者模式)
經過發佈/訂閱事件解耦事件發送和接受,從而簡化應用程序組件(Activities, Fragments 及後臺線程)之間的通訊github
- 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) 支持根據事件類型訂閱
- Otto
Square 的開源項目,基於 Guava 的 Android 優化
項目地址:https://github.com/square/otto
文檔介紹:http://square.github.io/otto/
EventBus 與 Otto 的功能及性能對比文檔
EventBus 與 Otto 性能對比 Demo Apk
9、傳感器
- 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
- SensorManager
Android 傳感器管理
項目地址:https://github.com/nlathia/SensorManager
文檔介紹:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/edit
- GPSLogger
記錄 GPS 信息
項目地址:https://github.com/mendhak/gpslogger
Demo 地址:https://play.google.com/store/apps/details?id=com.mendhak.gpslogger
文檔介紹:http://code.mendhak.com/gpslogger/
- Pedometer
計步器,使用硬件計步感應器
項目地址:https://github.com/j4velin/Pedometer
- leapcast
ChromeCast 模擬器的 App
項目地址:https://github.com/dz0ny/leapcast
- Arduino-Communicator
與 Arduino 通訊的 App
項目地址:https://github.com/jeppsson/Arduino-Communicator
- android-pedometer
Android 計步器
項目地址:https://github.com/bagilevi/android-pedometer
Demo 地址:http://pedometer.googlecode.com/files/Pedometer-1.4.apk
- OwnTracks for Android
本身的軌跡記錄
項目地址:https://github.com/owntracks/android
- 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
- Android heart rate monitor
Android 心跳檢測
項目地址:https://github.com/phishman3579/android-heart-rate-monitor
- 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
- farebot
經過 NFC 從公交卡中讀取數據的一個應用
項目地址:https://github.com/codebutler/farebot
10、安全
- SQLCipher
Sqlite 加密工具
項目地址:https://github.com/sqlcipher/sqlcipher
文檔介紹:http://sqlcipher.net/sqlcipher-for-android/
- Conceal
快速高效的進行文件加密解密
項目地址:https://github.com/facebook/conceal
文檔介紹:https://github.com/facebook/conceal#usage
- 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,支付寶,挖財
- 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
效果圖:
- GlowPadView
Android 4 鎖屏界面解鎖
項目地址:https://github.com/nadavfima/GlowPadView
效果圖:
- Android-InsecureBank
關於 Android 不安全性的示例
項目地址:https://github.com/dineshshetty/Android-InsecureBankv2
11、插件化
更多見:Android 插件化做用、概念以及不錯的資料(包括開源項目)和解決方案
- 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
- Android Dynamic Loader
點評的實現方式,和上面不一樣的是:他不是用代理 Activity 的方式實現而是用 Fragment 以及 Schema 的方式實現
項目地址:https://github.com/mmin18/AndroidDynamicLoader
Demo 地址:https://github.com/mmin18/AndroidDynamicLoader/raw/master/host.apk
- xCombine
Android App 插件式插件開發,插件必須先安裝,更推薦看上面兩個開源項目
項目地址:https://github.com/wyouflf/xCombine
文檔介紹:http://my.oschina.net/u/1171837/blog/155377
- Android Plugin Framework
Android 插件式開發,開放的源碼目前不完整
項目地址:https://github.com/umeng/apf
- Android OpenAtlas
Android插件框架,基於OSGI,非代理方式,組件須要在宿主中聲明
項目地址:https://github.com/bunnyblue/OpenAtlas
Demo 地址:https://github.com/bunnyblue/OpenAtlasExtension/blob/master/Dist/OpenAtlasLauncher.apk
- multidex
安裝多 dex 的 classloader
項目地址:https://github.com/casidiablo/multidex
- ANR-WatchDog
Android ANR 監聽,經過監聽本身的 UI Thread 是否被執行肯定是否發生了 ANR,並能夠設置相關事件
項目地址:https://github.com/SalomonBrys/ANR-WatchDog
12、文件
對不一樣文檔類型的處理,包括 PDF、Word、EPub、Html、Zip 等
- purePDF
容許從任何運行的 SWF 文件讀取和建立 PDF 文檔
項目地址:https://github.com/sephiroth74/purePDF
- android-pdfview
快速解析 pdf 的 view,默認支持手勢縮放和相關動畫
項目地址:https://github.com/JoanZapata/android-pdfview
- 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
- OpenSpritz-Android
EPub 閱讀器
項目地址:https://github.com/OnlyInAmerica/OpenSpritz-Android
- jsoup
一個解析 html 的 java 庫,可方便的提取和操做數據
項目地址:https://github.com/jhy/jsoup
官網網址:http://jsoup.org/
做用:(1) 從一個 url、文件或 string 得到 html 並解析
(2) 利用 dom 遍歷或 css 選擇器查找、提取數據
(3) 操做 html 元素
(4) 根據白名單去除用於提交的非法數據防止 xss 攻擊
(5) 輸出整齊的 html
- ZIP
java 壓縮和解壓庫
項目地址:https://github.com/zeroturnaround/zt-zip
文檔介紹:https://github.com/zeroturnaround/zt-zip#examples
做用:(1) 解壓和壓縮,並支持文件夾內遞歸操做
(2) 支持包含和排除某些元素
(3) 支持重命名元素
(4) 支持遍歷 zip 包內容
(5) 比較兩個 zip 包等功能
- Image File Selector
輕量級的圖片文件選擇器,用系統api選取,壓縮和裁切圖片,能夠方便的得要指定尺寸的圖片
項目地址:https://github.com/sw926/ImageFileSelector
十3、其餘
- FragmentStack
一個封裝了啓動模式的Fragment便捷使用庫,方便構建單Activity+多Fragment輕量級框架
項目地址:https://github.com/Mr-wangyong/FragmentStack
效果圖:https://github.com/Mr-wangyong/FragmentStack/blob/master/play.gif
App示例:南瓜電影
- CustomTabsHelper 快速集成 CustomTabs 的工具類
項目地址:https://github.com/DreaminginCodeZH/CustomTabsHelper
- Salvage view
帶 View 緩存的 Viewpager PagerAdapter,很方便使用
項目地址:https://github.com/JakeWharton/salvage
- Android Priority Job Queue
Android 後臺任務隊列
項目地址:https://github.com/path/android-priority-jobqueue
文檔介紹:https://github.com/path/android-priority-jobqueue#getting-started
- Cobub Razor
開源的 mobile 行爲分析系統,包括 web 端、android 端,支持 ios 和 window phone
項目地址:https://github.com/cobub/razor
Demo 地址:http://demo.cobub.com/razor
官網網址:http://dev.cobub.com/
- Countly
Android 移動端數據採集分析系統
項目地址:https://github.com/Countly/countly-sdk-android
官網網址:https://count.ly/
- aFileChooser
文件選擇器,可內嵌到程序中,而無需使用系統或三方文件選擇器。
項目地址:https://github.com/iPaulPro/aFileChooser
- androidpn
基於 xmpp 協議的消息推送解決方案,包括服務器端和 android 端。
項目地址:https://github.com/dannytiehui/androidpn
- Bolts
Android 的異步編程模式
項目地址:https://github.com/BoltsFramework/Bolts-Android/
與 AsyncTask 比較:(1) 使用的是無大小限制的線程池
(2) 任務可組合可級聯,防止了代碼耦合
- CastCompanionLibrary-android
使 Android 程序中更快的接入 Google Cast
項目地址:https://github.com/googlecast/CastCompanionLibrary-android
文檔介紹:https://developers.google.com/cast/
- CastVideos-android
從 Android 設備分享 Video 經過 Google Cast
項目地址:https://github.com/googlecast/CastVideos-android
文檔介紹:https://developers.google.com/cast/
- 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
- Memento
保證在系統配置改變時,Activity 中的某些數據能夠簡單安全的保持不變
項目地址:https://github.com/mttkay/memento
文檔介紹:https://github.com/mttkay/memento#usage
- FreeFlow
佈局引擎,更簡單的建立自定義佈局,而且當數據和佈局改變時更美觀的過渡動畫
項目地址:https://github.com/Comcast/FreeFlow
Demo 地址:https://github.com/Comcast/FreeFlow/releases
- Android Gesture Detectors Framework
Android 手勢框架,支持雙指旋轉、移動、平移、縮放等
項目地址:https://github.com/Almeros/android-gesture-detectors
- Mapbox Android SDK
Android Map 的替代版
項目地址:https://github.com/mapbox/mapbox-android-sdk
- Activity animation
Activity 跳轉動畫,支持各個方向波浪的效果
項目地址:https://github.com/flavienlaurent/activityanimation
在線演示:https://www.youtube.com/watch?v=-E0sc6w_Jck
- KryoNet
經過 NIO 提供客戶端和服務器端 TCP/UDP 網絡傳輸的 Java 庫
項目地址:https://github.com/EsotericSoftware/kryonet
- Rebound
一個模仿彈簧反彈的 Java 庫,可用於建立動畫
項目地址:https://github.com/facebook/rebound
- 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
- SmartAppUpdates
Android App 增量升級,包含先後端方案、Demo、以及 so 庫,可用於商店或大致積 App 差分升級
項目地址:https://github.com/cundong/SmartAppUpdates
- Magnet
建立相似 Facebook 聊天桌面懸浮窗的效果
項目地址:https://github.com/premnirmal/Magnet
- AcDisplay
將 Android 的通知都集中到鎖屏顯示
項目地址:https://github.com/AChep/AcDisplay
Demo 地址:https://play.google.com/store/apps/details?id=com.achep.acdisplay
- QrCodeScan
ZXing 和 ZBar 結合的二維碼掃描項目,提升了掃描效率
項目地址:https://github.com/SkillCollege/QrCodeScan
效果圖:
- Android-ScreenShot
實現 android 系統截屏功能
項目地址:https://github.com/Android-ScreenShot/AndroidScreenShotService
文檔介紹:http://blog.csdn.net/buptgshengod/article/details/39155979
- 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
- 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
- Android Signature Pad
Android 自定義的簽名 View,可自定義筆顏色和大小
項目地址:https://github.com/gcacace/android-signaturepad
Demo 項目:https://github.com/gcacace/android-signaturepad/tree/master/SignaturePad-Example
- Teleport
Android Wear 數據同步和消息傳送庫
項目地址:https://github.com/Mariuxtheone/Teleport
- DebugLog
能夠幫你建立更簡單和更容易理解的調試日誌,可以友好的顯示調試信息所在類和函數。
項目地址:https://github.com/MustafaFerhan/DebugLog
效果圖:
- Logger
簡單、美觀並且十分強大的 Android 日誌工具
項目地址:https://github.com/orhanobut/logger
Demo 地址:https://github.com/orhanobut/logger/tree/master/app
效果圖:
- jlog
能夠靈活配置的日誌工具,支持JSON打印,日誌保存到指定文件,日誌顯示調用位置(混淆模式下依然有效)
項目地址:https://github.com/JiongBull/jlog
Demo 地址:apk地址
效果圖:
- Phrase
square 組開源大牛寫的字符串替換類
項目地址:https://github.com/square/phrase
- ColorPhrase
模仿 phrase 寫的對字符串個別字符顏色改變的類,高效強大!
項目地址:https://github.com/THEONE10211024/ColorPhrase
效果圖:
- PinyinSearch
一個爲 T9 搜索和 Qwerty 搜索,提供數據解析與匹配等方法的拼音搜索 java 庫。
項目地址: https://github.com/handsomezhou/PinyinSearchLibrary
Demo 地址: ContactsSearch AppSearch
效果圖:
APP 示例: 通信錄應用,微信電話本
- PrainView
PaintView 是一個畫圖工具:
可直接使用設定按鈕來實現已擁有的方法,且拓展性強
基礎功能:更換顏色、更換橡皮、以及更換橡皮和筆的粗細、清屏、倒入圖片
特殊功能:保存畫筆軌跡幀動畫、幀動畫導入導出、ReDo和UnDo
項目地址:Paintview
效果圖:
demo地址:apk地址
原理解析:PaintView 繪圖控件解析
- CodeView
CodeView代碼查看/修改工具: 基於WebView製做的代碼編輯器,實現代碼高亮,暗色主題
項目地址:CodeView
效果圖:
demo地址:apk地址
- ExplorerView
文件瀏覽器:繼承自ListView,可拓展性強,可進行文件類型分析
項目地址:CodeView
效果圖:
demo地址:apk地址
- ReadView
小說閱讀器,支持文字字體、顏色、背景、進度等多種調整,支持一鍵設置。
項目地址:ReadView
效果圖:
demo地址:apk地址
- MarkDownView
支持MarkDown語法的渲染器,基於WebView的MarkDown渲染器,支持標準化的MarkDown語法, 調用接口和CodeView保持一導致用簡便
項目地址:ReadView
效果圖:
demo地址:apk地址
- VerTextView豎行排版的TextView:
支持豎行排版,添加了下劃線功能,開啓簡便,下劃線粗細、顏色、間距都可自定義,
接口調用方式與TextView類似,使用簡便。
項目地址:ReadView
效果圖:
demo地址:apk地址
- GHDownload下載框架
支持單線程和多線程斷點下載,簡單易用。
項目地址:GHDownload
第三部分 優秀項目
主要介紹那些 Android 還不錯的完整項目,目前包含的項目主要依據是項目有意思或項目分層規範比較好。
1、系統及平臺
- Linux
項目地址:https://github.com/torvalds/linux
- Android
項目地址:https://android.googlesource.com/
2、項目
- 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
其餘:如今市面上不少應用的二維碼掃描功能都是從這個修改而來
- photup
編輯機批量上傳照片到 facebook 上
項目地址:https://github.com/chrisbanes/photup
APK 地址:https://play.google.com/store/apps/details?id=uk.co.senab.photup
其餘:代碼分包合理,很棒。不過這個項目依賴的開源項目比較多,比較難編譯
- github-android
Github 的 Android 客戶端項目
項目地址:https://github.com/github/android
APK 地址:https://play.google.com/store/apps/details?id=com.github.mobile
- 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 代碼規範較好得多
- weicuiyuan
四次元-新浪微博客戶端
項目地址:https://github.com/qii/weiciyuan
APK 地址:https://play.google.com/store/apps/details?id=org.qii.weiciyuan
- Douya
豆芽——Material Design 的豆瓣客戶端
項目地址:https://github.com/DreaminginCodeZH/Douya
效果圖:
- gnucash-android
一個記帳理財軟件
項目地址:https://github.com/codinguser/gnucash-android
APK 地址:http://play.google.com/store/apps/details?id=org.gnucash.android
- AntennaPod
支持 rss 訂閱、音樂訂閱
項目地址:https://github.com/danieloeh/AntennaPod
APK 地址:https://play.google.com/store/apps/details?id=de.danoeh.antennapod
- ChaseWhisplyProject
打鬼遊戲
項目地址:https://github.com/tvbarthel/ChaseWhisplyProject
APK 地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.games.chasewhisply
- Tweet Lanes
功能完整的 Twitter 客戶端
項目地址:https://github.com/chrislacy/TweetLanes
APK 地址:https://play.google.com/store/apps/details?id=com.tweetlanes.android
- Financius
簡單易用的記帳程序
項目地址:https://github.com/mvarnagiris/Financius
APK 地址:https://play.google.com/store/apps/details?id=com.code44.finance
- 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
- simpletask
基於 todo.txt 官方應用的另外一個客戶端
項目地址:https://github.com/mpcjanssen/simpletask-android
APK 地址:https://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo
- Muzei Live Wallpaper
定時更換桌面精美壁紙
項目地址:https://github.com/romannurik/muzei
APK 地址:https://play.google.com/store/apps/details?id=net.nurik.roman.muzei
- Scanbook
掃描搜索查詢圖書信息
項目地址:https://github.com/JayFang1993/ScanBook
APK 地址:http://www.wandoujia.com/apps/com.scanbook
- 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
- Json2Java
根據 JSon 數據自動生成對應的 Java 實體類,還支持 Parcel、Gson Annotations 對應代碼自動生成。期待後續的提取父類以及多 url 構建整個工程的功能
項目地址:https://github.com/jonfhancock/JsonToJava
在線演示:http://jsontojava.appspot.com/
- IntelliJ Plugin for Android Parcelable boilerplate code generation
Android studio 插件,生成 Parcelable 代碼
項目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
效果圖:
- Android Holo Colors IntelliJ Plugin
Android studio 插件,生成 holo 樣式 9 patch 圖片
項目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
效果圖:
- Android Drawable Factory
用於生成各個分辨率的圖片
項目地址:https://github.com/tizionario/AndroidDrawableFactory
效果圖:
- SelectorChapek for Android
Android Studio 插件,可根據固定文件名格式資源自動生成 drawable selectors xml 文件。
項目地址:https://github.com/inmite/android-selector-chapek
- Android Action Bar Style Generator
Android ActionBar 樣式生成器,可在線選擇 ActionBar 樣式自動生成所須要的圖片資源及 xml 文件
項目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
在線演示:http://jgilfelt.github.io/android-actionbarstylegenerator/
- ButterKnifeZelezny
用於快速生成ButterKnifeView 注入代碼的 Android Studio/IDEA 插件
項目地址:https://github.com/inmite/android-butterknife-zelezny
- RoboCoP
利用 Gradle task 根據固定格式的 json 文件生成 ContentProvider
項目地址:https://github.com/mediarain/RoboCoP
- appiconsizes
用於生成各個分辨率的圖片
項目地址:http://www.appiconsizes.com/
- AndroidUtiles 集合了全部經常使用的安卓工具類 項目地址:https://github.com/l123456789jy/Lazy
- Gradle Retrolambda Plugin
Retrolambda是將 Java8 的 Lambdas 應用於 Java7 的工具,本項目是 Gradle 插件,經過 Retrolambda 從而使 Java 或 Android 項目用 Java8 的 Lambdas 編寫,將編譯後的字節碼轉換爲 Java6 和 7 的字節碼從而正常運行
項目地址:https://github.com/evant/gradle-retrolambda
- Dagger IntelliJ Plugin
dagger 的 intellij 插件
項目地址:https://github.com/square/dagger-intellij-plugin
- Android Gen Drawable Maven plugin
在編譯時根據 SVG 描述文件生成不一樣分辨率的 jpg、png 或點 9 圖片
項目地址:https://github.com/avianey/androidgendrawable-maven-plugin
- Android Asset Studio
各類 Android 資源自動生成器,包括啓動圖標、ActionBar 圖標、通知欄圖標、點 9 等
項目地址:https://github.com/romannurik/AndroidAssetStudio
在線演示:http://romannurik.github.io/AndroidAssetStudio/
- jsonschema2pojo
根據 Json 內容生成 java 對象,支持 jackjson 和 gson
項目地址:https://github.com/joelittlejohn/jsonschema2pojo
在線演示:http://www.jsonschema2pojo.org/
- GsonFormat
根據 JSONObject 格式的字符串,自動生成實體類參數的 Android Studio/IntelliJ IDEA 插件
項目地址:https://github.com/zzz40500/GsonFormat
效果圖:
- Json2Class
根據Json生成Java文件的Android Studio/IntelliJ IDEA 插件,而且能夠選擇Parcelable或者Serializable
項目地址:https://github.com/anzewei/Json2Class
效果圖:
- 9-Patch-Resizer
自動生成 png 及點 9 圖片的不一樣分辨率版本
項目地址:https://github.com/redwarp/9-Patch-Resizer
- AndroidLocalizationer
可用於將項目中的 string 資源自動翻譯爲其餘語言的 Android Studio/IntelliJ IDEA 插件
項目地址:https://github.com/westlinkin/AndroidLocalizationer
- Material Palette
一個將現有的色彩方案組合成材料設計的調色板方案,提供下載。選取兩個主要色彩後即可以提供下載,提供下載的格式能夠是 android 的資源 xml 文件,以色彩的方式提供,也能夠是 CSS、SVG、PNG 等常見格式文件。
項目地址:http://www.materialpalette.com/
2、開發自測相關
- Quality Tools for Android
Android 測試及自測工具集合和示例
項目地址:https://github.com/stephanenicolas/Quality-Tools-for-Android
- 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
- robolectric
測試用例編寫框架
項目地址:https://github.com/robolectric/robolectric
Demo 地址:https://github.com/robolectric/robolectricsample
文檔介紹:http://robolectric.org/
特色:(1). 不須要模擬器在通常 JVM 就能夠運行測試用例
(2). 能完成在真機上的大部分測試包括感應器
其餘的測試用例及相關模塊 Mock 可見:android-mock, mockito, easy-mock
- Android FEST
提供一些列方便的斷言,可用於提升編寫 Android 自測代碼效率
項目地址:https://github.com/square/fest-android
- BoundBox
可用於測試類各類訪問權限的屬性、方法。實際是經過 BoundBox 這個 annotation 生成一個屬性和方法都是 public 權限的中間類並對此類進行測試完成的
項目地址:https://github.com/stephanenicolas/boundbox
- Hugo
用於打印函數信息及執行時間的工具,僅在 debug 模式生效
項目地址:https://github.com/JakeWharton/hugo
- scalpel
在應用下面添加一層用於界面調試
項目地址:https://github.com/JakeWharton/scalpel
- Android Screenshot library
Android 截圖工具類,用於在持續集成時截圖
項目地址:https://github.com/rtyley/android-screenshot-lib
- sonar-android-lint-plugin
將 android lint 的錯誤在 sonar 中展示
項目地址:https://github.com/SonarCommunity/sonar-android
3、測試工具
- Spoon
可用於 android 不一樣機型設備自動化測試,能將應用 apk 和測試 apk 運行在不一樣機器上並生成相應測試報告。
項目地址:https://github.com/square/spoon
- Tencent APT
APT 是騰訊開源的一個 Android 平臺高效性能測試組件,提供豐富實用的功能,適用於開發自測、定位性能瓶頸;測試人員完成性能基準測試、競品對比測試
項目地址:https://github.com/stormzhang/APT
- Emmagee
網易開源的性能測試工具,包括 CPU、內存、網絡流量、啓動時間、電池狀態等
項目地址:https://github.com/NetEase/Emmagee
- Android py-uiautomator
py-uiautomator 是一個對 Android uiautomator 用 python 進行封裝的測試框架.
項目地址:https://github.com/xiaocong/uiautomator
- Augmented Traffic Control
模擬網絡情況,包括帶寬、時延抖動、丟包率、錯包率、包重排率
項目地址:https://github.com/facebook/augmented-traffic-control
- stetho
強大的 Android Debug 工具。支持網絡請求監控以及數據庫查看,能夠和 Chrome DevTools 結合或者命令行模式。
項目地址:https://github.com/facebook/stetho
4、開發及編譯環境
- Buck
facebook 開源的 Android 編譯工具,效率是 ant 的兩倍。主要優勢在於:
(1) 加快編譯速度,經過並行利用多核 cpu 和跟蹤不變資源減小增量編譯時間實現
(2) 能夠在編譯系統中生成編譯規則而無須另外的系統生成編譯規則文件
(3) 編譯同時可生成單元測試結果
(4) 既可用於 IDE 編譯也可用於持續集成編譯
(5) facebook 持續優化中
項目地址:https://github.com/facebook/buck
- Android Maven Plugin
Android Maven 插件,可用於對 android 三方依賴進行管理。在 J2EE 開發中,maven 是很是成熟的依賴庫管理工具,可統一管理依賴庫。
項目地址:https://github.com/jayway/maven-android-plugin
- 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
- 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/
- gradle-mvn-push
方便的將 Gradle 的 Artifacts 上傳到 Maven 倉庫
項目地址:https://github.com/chrisbanes/gradle-mvn-push
文檔介紹:https://github.com/chrisbanes/gradle-mvn-push#usage
- Android Emulator Plugin for Jenkins
Android 模擬器 jenkins 插件,用於 Jenkins 作持續集成時跑模擬器測試
項目地址:https://github.com/jenkinsci/android-emulator-plugin
- Android Maven Plugin
管理應用所須要的依賴庫。包括的構建工具備 Maven、Gradle、ant、sbt
項目地址:https://github.com/mosabua/maven-android-sdk-deployer
- SDK Manager Plugin
下載和管理 Android SDK 的 Gradle 插件
項目地址:https://github.com/JakeWharton/sdk-manager-plugin
- Gradle Protobuf Plugin
將.proto 文件轉換成 Java 文件的 gradle 插件
項目地址:https://github.com/andrewkroh/gradle-protobuf-plugin
- ChromeADB
Chrome 的 Adb 插件,當登陸後,能看到全部鏈接的設備並操做,能夠看應用、進程、內存及磁盤使用狀況等
項目地址:https://github.com/importre/chromeadb
5、其餘
- GT
APP的隨身調試平臺,它是直接運行在手機上的「集成調試環境」(IDTE, Integrated Debug Environment)。
項目地址:https://github.com/TencentOpen/GT
文檔介紹:http://gt.qq.com/docs.html
- ViewServer
容許 app 運行在任何手機上均可以用 HierarchyViewer 查看
項目地址:https://github.com/romainguy/ViewServer
- 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
- Catlog
手機端 log 查看工具,支持不一樣顏色顯示、關鍵字過濾、級別過濾、進程 id 過濾、錄製功能等
項目地址:https://github.com/nolanlawson/Catlog
在線演示:https://play.google.com/store/apps/details?id=com.nolanlawson.logcat
- PID Cat
根據 package 查看 logcat 日誌
項目地址:https://github.com/JakeWharton/pidcat
- ACRA
應用崩潰信息日誌上報到 GoogleDoc 工具,網頁版展示結果三方開源地址https://github.com/BenoitDuffez/crashreportsviewer
項目地址:https://github.com/ACRA/acra
文檔介紹:https://github.com/ACRA/acra/wiki/BasicSetup
- Crashlytics
提供豐富的應用崩潰信息日誌收集
輕量級,豐富,可自定義應用崩潰信息收集器,附有郵件通知
項目地址:http://www.crashlytics.com/
集成插件:Android Studio, Eclipse and IntelliJ
- 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
- android-resource-remover
根據 lint 的提示刪除項目中無用的資源,減小包的大小
項目地址:https://github.com/KeepSafe/android-resource-remover
- Telescope
經過手勢截圖以特定主題發送到特定郵箱地址報告 Bug
項目地址:https://github.com/mattprecious/telescope
- Complete Android Fragment & Activity Lifecycle
完整的 Android Fragment/Activity 生命週期圖
項目地址:https://github.com/xxv/android-lifecycle
- Bugsnag Notifier for Android
經過Thread.UncaughtExceptionHandler
捕獲應用未處理的異常崩潰 Bug 並用 Notification 展現同時上傳到後臺服務器
項目地址:https://github.com/bugsnag/bugsnag-android
文檔介紹:https://github.com/bugsnag/bugsnag-android#installation--setup
- Material Design Icons
Google Material Design 規範中的 Icon
項目地址:https://github.com/google/material-design-icons
- scrollscreenshot
Android 滾動屏幕自動截圖 jar 包,支持縱向、橫向滾動截屏拼接
項目地址:https://github.com/PGSSoft/scrollscreenshot
效果圖:
- droidicon
1600+的海量 Icon,包括 750+的 Material Design icons
項目地址:https://github.com/theDazzler/droidicon
- leakcanary
Android 內存泄露檢測工具,集成方便,出現泄露後報告直觀
項目地址:https://github.com/square/leakcanary
效果圖:
- CacheUtilsLibrary
將任何Java Object類型的數據序列化後寫入緩存文件,未來使用時讀取緩存文件並反序列化成對應Java Object的庫
項目地址:https://github.com/westlinkin/CacheUtilsLibrary
- 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/
- Chris Banes
Github 地址:https://github.com/chrisbanes
表明做:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache,Android-PullToRefresh
主頁:http://chris.banes.me/
- Koushik Dutta
就任於 ClockworkMod
Github 地址:https://github.com/koush
表明做:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外對 https://github.com/CyanogenMod 的開源項目有不少貢獻
主頁:http://koush.com/
- Simon Vig
Github 地址:https://github.com/SimonVT
表明做:android-menudrawer,MessageBar
主頁:http://simonvt.net/
- Manuel Peinado
Github 地址:https://github.com/ManuelPeinado
表明做:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeader
- Emil Sj?lander
Github 地址:https://github.com/emilsjolander
表明做:StickyListHeaders,sprinkles,android-FlipView
主頁:http://emilsjolander.se/
- greenrobot
Github 地址:https://github.com/greenrobot
表明做:greenDAO,EventBus
主頁:http://greenrobot.de/
- Jeff Gilfelt
Github 地址:https://github.com/jgilfelt
表明做:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
主頁:http://jeffgilfelt.com
- 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
- sephiroth74
就任於 Aviary.com
Github 地址:https://github.com/sephiroth74
表明做:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
主頁:http://www.sephiroth.it/
- Cyril Mottier
Google 開發者專家認證,發佈一些 Android 技巧及文章
Github 地址:https://github.com/cyrilmottier
表明做:GreenDroid,Polaris
主頁:http://cyrilmottier.com/
2、組織
- Square
有態度有良心的企業,不少不錯的分享
Github 地址:https://github.com/square
表明做:okhttp、fest-android,android-times-square、picasso、dagger、spoon 等等
主頁:http://square.github.io/
- Inmite s.r.o.
Github 地址:https://github.com/inmite
表明做:android-styled-dialogs,android-grid-wichterle,android-selector-chapek
主頁:http://www.inmite.eu/
3、博客
部分國外著名 Android 開發者信息
最後附上轉載地址:https://github.com/Trinea/android-open-project