目录

前言

目前包括:

第一部分 个性化控件(View)

一、ListView

二、ActionBar

三、Menu

四、ViewPager 、Gallery

五、GridView

六、ImageView

七、ProgressBar

八、TextView

九、ScrollView

十、TimeView

十 一、TipView

十二、FlipView

十三、ColorPickView

十四、GraphView

十五、UI Style

十六、其他

第二部分 工具库

一、依赖注入 DI

二、图片缓存

三、网络请求

四、数据库 orm 工具包

五、Android 公共库

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

七、多媒体相关

八、事件总线(订阅者模式)

九、传感器

十、安全

十一、插件化

十二、文件

十三、其他

第三部分 优秀项目

一、系统及平台

二、项目

第四部分 开发工具及测试工具

一、开发效率工具

二、开发自测相关

三、测试工具

四、开发及编译环境

五、其他

第五部分

一、个人

二、组织

三、博客


前言

Android 开发调试效率数倍提升工具——开发助手 App 最新版,可从 Google Play、应用宝、360 手机助手里搜索”开发助手”下载,或通过网页下载:Google Play、应用宝、360 手机助手、本地下载

Android 开源项目源码解析(Volley、UIL、Dagger、EventBus、插件化库等分析)

强大的 Android 开源项目搜索站

更多:Android 开源库获取途径整理  

目前包括:

Android 开源项目第一篇——个性化控件(View)篇

    包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style、其他

Android 开源项目第二篇——工具库篇     包括依赖注入、图片缓存、网络请求、数据库 ORM 工具包、Android 公共库、高版本向低版本兼容库、多媒体、事件总线、传感器、安全、插件化、文件、其他

Android 开源项目第三篇——开发及测试工具篇   包括开发效率工具、开发自测相关、测试工具、开发及编译环境、其他

第一部分 个性化控件(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](http://a.codekk.com/detail/Android/Grumoon/android-Ultra-Pull-To-Refresh 源码解析) Demo 地址:https://raw.githubusercontent.com/liaohuqiu/android-Ultra-Pull-To-Refresh/master/ptr-demo.apk 效果图: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. Android-PullToRefreshRecyclerView 支持下拉刷新的RecyclerView,同时支持滑动到底部自动加载数据、给RecyclerView添加Header。并且不更改原有RecyclerView的逻辑。 Screenshot 项目地址:https://github.com/HomHomLin/Android-PullToRefreshRecyclerView Demo地址:https://github.com/HomHomLin/Android-PullToRefreshRecyclerView/blob/master/sample.apk

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

  6. SwipeListView 支持定义 ListView 左右滑动事件,支持左右滑动位移,支持定义动画时间 项目地址:https://github.com/47deg/android-swipelistview Demo 地址:https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview APP 示例:微信

  7. Android-SlidingLayout 实现类似QQ、微信ListView和WebView的上拉下拉弹跳效果和iOS的ListView的果冻效果。兼容Android自带库和兼容库的所有View组件,包括RecyclerView、ListView、ScrollView以及WebView等等。 p1 p2 项目地址:https://github.com/HomHomLin/SlidingLayout/。 Demo地址:https://github.com/HomHomLin/SlidingLayout/tree/master/demo

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

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

  10. RecyclerViewSwipeDismiss 轻量级支持 support-v7 中的 RecyclerView 的滑动删除(Swipe to dismiss)行为,不需要修改源代码,只要简单的绑定onTouchListener 项目地址:https://github.com/CodeFalling/RecyclerViewSwipeDismiss 效果图:Renderings

  11. QuickSideBar 帮助快速查阅对应分组的侧边栏,可以配合任意列表,demo中给出配合RecyclerView(浮动分组使用stickyheadersrecyclerview)。 项目地址:https://github.com/saiwu-bigkoo/Android-QuickSideBar 效果图:Renderings

  12. async-expandable-list 支持异步加载子列表的 ExpandableListView,包括CollectionView可以显示小标题的列表 项目地址:https://github.com/Ericliu001/async-expandable-list

效果图:

Demo Demo

  1. PinnedHeaderExpandableListView 首先它是一个 ExpandableListView,但是它的头部可以固定,其次,在它的上面还有一个头部可以来回伸缩 项目地址:https://github.com/singwhatiwanna/PinnedHeaderExpandableListView 效果图:Renderings APP 示例:百度手机卫士垃圾清理界面

  2. StickyListHeaders GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView,支持快速滑动,支持 Android2.3 及以上 项目地址:https://github.com/emilsjolander/StickyListHeaders 效果图:Renderings APP 示例:Android 4.0 联系人

  3. pinned-section-listview GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView 项目地址:https://github.com/beworker/pinned-section-listview 效果图:Renderings

  4. PinnedHeaderListView GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ExpandListView 项目地址:https://github.com/JimiSmith/PinnedHeaderListView

  5. QuickReturn ListView/ScrollView 的 header 或 footer,当向下滚动时消失,向上滚动时出现 项目地址:https://github.com/lawloretienne/QuickReturn Demo 地址:https://play.google.com/store/apps/details?id=com.etiennelawlor.quickreturn

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

  7. IndexableListView ListView 右侧会显示 item 首字母快捷索引,点击可快速滑动到某个 item 项目地址:https://github.com/woozzu/IndexableListView Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=true APP 示例:微信通讯录、小米联系人

  8. CustomFastScrollView ListView 快速滑动,同时屏幕中间 PopupWindows 显示滑动到的 item 内容或首字母 项目地址:https://github.com/nolanlawson/CustomFastScrollViewDemo 效果图:Renderings

  9. Android-ScrollBarPanel ListView 滑动时固定的 Panel 指示显示在 scrollbar 旁边 项目地址:https://github.com/rno/Android-ScrollBarPanel 效果图:Renderings

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

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

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

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

  14. TwoWayView 横向 ListView 的效果,继承自 AdapterView 项目地址:https://github.com/lucasr/twoway-view

  15. HorizontalVariableListView 支持 Item 宽度不一致的 ListView 项目地址:https://github.com/sephiroth74/HorizontalVariableListView

  16. LinearListView 用 LinearLayout 实现的 ListView,可解决多个 ListView 并存等问题。目前自己也有需要,等亲自尝试过后会再具体介绍 项目地址:https://github.com/frankiesardo/LinearListView

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

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

  19. ListBuddies 自动滚动的双列 ListView ,两个 ListView 滚动速度不一致,有视差效果 项目地址:https://github.com/jpardogo/ListBuddies Demo 地址:https://play.google.com/store/apps/details?id=com.jpardogo.android.listbuddies 效果图:Renderings

  20. SwipeMenuListView 针对 ListView item 的侧滑菜单 项目地址:https://github.com/baoyongzhang/SwipeMenuListView 效果图:Renderings APP 示例:手机 QQV5.0

  21. PagingListView 分页加载的 ListView。当滑动到 ListView 底部最后一个元素时,显示一个进度行,然后加载下一页数据,并显示。 项目地址:https://github.com/nicolasjafelle/PagingListView

  22. PullZoomView 支持下拉时 HeaderView 缩放的 ListView、ScrollView 项目地址:https://github.com/Frank-Zhu/PullZoomView 效果图:Renderings

  23. PullToZoomInListView 滑动 ListView 时使其 HeaderView 跟随滑动缩放 项目地址:https://github.com/matrixxun/PullToZoomInListView 效果图:Renderings

  24. CalendarListview 实现每个月一行日历效果的 ListView 项目地址:https://github.com/traex/CalendarListview 原理剖析文档:CalendarListview 效果图:Renderings

  25. sticky-headers-recyclerview GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ListView,采用 support-v7 中的 RecyclerView 实现 项目地址:https://github.com/timehop/sticky-headers-recyclerview

  26. PullSeparateListView 到达顶部或底部继续拉动时,实现 Item 间的相互分离,两种模式:(1) 全部分离的模式,即屏幕内所有 Item 都会分离 (2)部分分离模式,以点击位置为分界点,部分 item 分离 项目地址:https://github.com/chiemy/PullSeparateListView 效果图:Renderings

  27. ExpandableLayout Header 和 Content Item 都可以展开的 ExpandableListview 项目地址:https://github.com/traex/ExpandableLayout

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

  29. CustomSwipeListView 支持左滑弹出自定义菜单,右滑删除且允许撤销,同时可以自定义滑动动画时间和滑动触发事件的时机等。 项目地址:https://github.com/xyczero/Android-CustomSwipeListView Demo 地址:Download here 效果图:Renderings

  30. Pull-to-Refresh.Rentals-Android 提供一个简单可以自定义的下拉刷新实现,Yalantis 出品。 项目地址:https://github.com/Yalantis/Pull-to-Refresh.Rentals-Android 效果图:Renderings

  31. ScrollerCalendar 实现每行显示一年的 12 个月份的 RecyclerView 年历 项目地址:https://github.com/guanchao/ScrollerCalendar 效果图:Renderings

  32. ExtractWordView 一个可以提取单词的 ListView,支持"放大镜"效果。 项目地址:https://github.com/jcodeing/ExtractWordView Demo 地址:Download here Renderings

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

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

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

  36. WaterDropListView 模仿 iOS 下拉刷新“水滴”效果,支持下拉刷新和上拉加载 项目地址:https://github.com/THEONE10211024/WaterDropListView 效果图:Renderings

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

  38. CircleRefreshLayout 一个包含有趣的动画的自定义下拉刷新布局 项目地址:https://github.com/tuesda/CircleRefreshLayout 效果图: Renderings

  39. EasyRecyclerView 一款简单易用的EasyRecyclerView 1.提供EasyRecyclerView,不需要写太多RecyclerView的配置代码 2.提供好一个可以适配单布局和多布局的RecyclerViewAdapter 3.提供了分割线的实现类,只需要传入一个DrawableId 项目地址:https://github.com/CaMnter/EasyRecyclerView

  40. CanRefresh 可适配所有视图的下拉刷新上拉加载,并支持各种风格 项目地址:https://github.com/canyinghao/CanRefresh 效果图: Renderings

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

  42. SnappingSwipingRecyclerView 实现了类似微信读书首页的长按之后滑动删除的特效和动画

项目地址:https://github.com/CarlLee/SnappingSwipingRecyclerView

二、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](http://a.codekk.com/detail/Android/huxian99/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](http://a.codekk.com/detail/Android/cpacm/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](http://a.codekk.com/detail/Android/cpacm/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

  19. FlowingDrawer 带手势流动效果侧滑菜单 项目地址:https://github.com/mxn21/FlowingDrawer 效果图:Renderings

  20. FloatingActionMenu-Animation 扩展FloatingActionMenu库,自定义菜单图标,动画滚动时 项目地址: https://github.com/toanvc/FloatingActionMenu-Animation 效果图: Renderings

四、ViewPager 、Gallery

  1. AdvancedPagerSlidingTabStrip 一个完美兼容ViewPager的导航栏组件;可以自定义TabView;能动态加载Tab上的Icon图片; 能显示Tab的消息数量和提示小圆点;支持自定义为微博形式的可滑动tab。 p1 p2 项目地址:https://github.com/HomHomLin/AdvancedPagerSlidingTabStrip。

  2. ConvenientBanner 通用的广告栏控件,让你轻松实现广告头效果。支持无限循环,可以设置自动翻页和时间(而且非常智能,手指触碰则暂停翻页,离开自动开始翻页。你也可以设置在界面onPause的时候不进行自动翻页,onResume之后继续自动翻页),并且提供多种翻页特效。 对比其他广告栏控件,大多都需要对源码进行改动才能加载网络图片,或者帮你集成不是你所需要的图片缓存库。而这个库能让有代码洁癖的你欢喜,不需要对库源码进行修改你就可以使用任何你喜欢的网络图片库进行配合。 项目地址:https://github.com/saiwu-bigkoo/Android-ConvenientBanner 效果图:Renderings

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

  4. JazzyViewPager 支持 Fragment 切换动画的 ViewPager,动画包括转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等,效果类似桌面左右切换的各种效果,不过桌面并非用 ViewPager 实现而已 项目地址:https://github.com/jfeinstein10/JazzyViewPager Demo 地址:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true

  5. JellyViewPager 特殊切换动画的 ViewPager 项目地址:https://github.com/chiemy/JellyViewPager 效果图:Renderings

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

  7. FancyCoverFlow 支持 Item 切换动画效果的类似 Gallery View 项目地址:https://github.com/davidschreiber/FancyCoverFlow Demo 地址:https://play.google.com/store/apps/details?id=at.technikum.mti.fancycoverflow.samples 效果图:Renderings

  8. 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 示例:类似微信中查看聊天记录图片时可双击放大,并且放大情况下能正常左右滑动到前后图片

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

  10. Android PagerSlidingTabStrip 配合 ViewPager 使用的 Indicator,支持 ViewPager Scroll 时 Indicator 联动 项目地址:https://github.com/astuetz/PagerSlidingTabStrip 原理剖析文档:[Android PagerSlidingTabStrip](http://a.codekk.com/detail/Android/ayyb1988/PagerSlidingTabStrip 源码解析) Demo 地址:https://play.google.com/store/apps/details?id=com.astuetz.viewpager.extensions.sample

  11. ViewPager3D ViewPager3D 效果 项目地址:https://github.com/inovex/ViewPager3D

  12. AnimaTabsview 仿网易云音乐标签切换的动画,带透明小三角 项目地址:https://github.com/wuyexiong/transparent-over-animtabsview 在线演示:http://v.youku.com/v_show/id_XNzA4MjY5NjA0.html

  13. LoopingViewPager 无限循环的 ViewPager 项目地址:https://github.com/imbryk/LoopingViewPager

  14. android_page_curl 翻书卷曲效果 项目地址:https://github.com/harism/android_page_curl 在线演示:https://www.youtube.com/watch?v=iwu7P5PCpsw APP 示例:iReader

  15. ViewPagerIndicator 简化并实现 android 的 TabHost 效果,顶部滑动 tab,引导页,支持自定义 tab 样式,自定义滑动块样式和位置,自定义切换 tab 的过渡动画,子界面的预加载和界面缓存,设置界面是否可滑动 项目地址:https://github.com/LuckyJayce/ViewPagerIndicator

  16. ScreenSlideIndicator 轻量级的圆形 Indicadtor,位置可以自由调整,不会对 ViewPager 产生任何影响。 项目地址:ScreenSlidePager 效果图:Renderings

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

  18. AndroidImageSlider Android 图片滑动 项目地址:https://github.com/daimajia/AndroidImageSlider 效果图:Renderings App 示例:https://github.com/daimajia/AndroidImageSlider/releases/download/v1.0.8/demo-1.0.8.apk

  19. RecyclerViewPager 完全继承自 RecyclerView,可以自定义触发翻页的距离,可自定义翻页速度,支持垂直方向的 ViewPager,支持 Fragment。 项目地址:RecyclerViewPager 效果图:Renderings

  20. CircleIndicator 轻量级ViewPager指示器,支持三种不同的模式 项目地址:CircleIndicator 效果图:Renderings Renderings Renderings

  21. EasySlidingTabs 一款简单、易用的滑动标签页 项目地址: https://github.com/CaMnter/EasySlidingTabs 效果图: Renderings

  22. ParallaxViewPager ViewPager页面切换视差效果 项目地址:https://github.com/ybq/ParallaxViewPager 效果图: 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 也可自定义item的宽高和每行的个数,同时修改了交换逻辑,当移动到另一个item时就进行交换,并删除滚动逻辑。 项目地址:DraggableGridView 效果图: Renderings

  5. DividedDraggableView 一个带有分割区域的可拖动 view ,可屏幕自动上下滚动进行 Item 移动交换。 项目地址:https://github.com/andyken/DividedDraggableView 效果图: Renderings

  6. StickyGridHeaders GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 GridView 项目地址:https://github.com/TonicArtos/StickyGridHeaders 效果图:Renderings

  7. PagedDragDropGrid Item 可拖动交换位置、拖动删除的自定义控件,实际是自己继承 ViewGroup 实现,类似桌面的多屏效果,可拖动到屏幕边缘,屏幕自动左右滚动进行 Item 移动交换,可拖动进行删除,单屏效果见上面 DraggableGridView 项目地址:https://github.com/mrKlar/PagedDragDropGrid 在线演示:http://youtu.be/FYTSRfthSuQ

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

  9. TwoWayGridView 可横向滚动的 GridView 项目地址:https://github.com/jess-anders/two-way-gridview

  10. PagingGridView 分页加载的 GridView。当滑动到 GridView 底部最后一个行时,显示一个进度行,然后加载下一页数据,并显示。 项目地址:https://github.com/nicolasjafelle/PagingGridView

  11. AsymmetricGridView 一个支持跨行和跨列可变 Item 大小的 GridView 项目地址:https://github.com/felipecsl/AsymmetricGridView Demo 地址:https://play.google.com/store/apps/details?id=com.felipecsl.asymmetricgridview.app 效果图:Renderings

  12. 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](http://a.codekk.com/detail/Android/dkmeteor/PhotoView 源码解析) Demo 地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sample APP 示例:photup

  2. Fresco-ImageView Fresco-ImageView是一种Android平台的图像控件,底层是对Fresco的封装,可以异步加载网络图片、项目资源和本地图片,并且支持双指缩放、图片的基本处理以及Fresco的所有特性。 项目地址:https://github.com/HomHomLin/FrescoImageView

  3. android-gif-drawable 支持 gif 显示的 view,用 jni 实现的,编译生成 so 库后直接 xml 定义 view 即可,而且本身不依赖于其他开源项目所以相对下面的 ImageViewEx 简单的多 项目地址:https://github.com/koral--/android-gif-drawable

  4. ImageViewEx 支持 Gif 显示的 ImageView,依赖很多,编译过程很繁琐 项目地址:https://github.com/frapontillo/ImageViewEx Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/imageviewex-demo.apk?raw=true

  5. RoundedImageView 带圆角的 ImageView 项目地址:https://github.com/vinc3m1/RoundedImageView 效果图:Renderings

  6. SelectableRoundedImageView ImageView 允许四个角的每一个有不同的半径值。也允许椭圆形、圆形的形状或者边 项目地址:https://github.com/pungrue26/SelectableRoundedImageView Demo 地址:https://play.google.com/store/apps/details?id=com.joooonho 效果图:Renderings

  7. ColorArt 根据图片的均色设置背景色显示文字和图片,类似 itune11 中效果 项目地址:https://github.com/MichaelEvans/ColorArt Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/color-art-demo.apk?raw=true

  8. CircleImageView 圆形的 ImageView 项目地址:https://github.com/hdodenhof/CircleImageView 效果图:Renderings

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

  10. KenBurnsView 实现 Ken Burns effect 效果,达到身临其境效果的 ImageView 项目地址:https://github.com/flavioarfaria/KenBurnsView

  11. CustomShapeImageView 各种形状的 ImageView, 相比上面的圆形 ImageView,多了更多形状 项目地址:https://github.com/MostafaGazar/CustomShapeImageView 效果图:Renderings

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

  13. TextDrawable 一个用于生成带有文本或者字母的图片的轻量级库。扩展自 Drawable,因此可用于现有/自定义/网络等 ImageView 类,并且包含一个流接口用于创建 drawables 以及一个定制的 ColorGenerator 项目地址:https://github.com/amulyakhare/TextDrawable 效果图:Renderings

  14. android-smart-image-view 可从 URL 或 contact address book 加载图片的 ImageView,支持缓存 项目地址:https://github.com/loopj/android-smart-image-view

  15. PhotoView 支持双指/双击缩放的ImageView,支持从一个PhotoView缩放到另外一个PhotoView(点击图片放大预览),相对于其他PhototView有更加平滑的缩放,平移的动画,并且支持所有的ScaleType,可以作为普通的ImageView使用 项目地址:https://github.com/bm-x/PhotoView 效果图:Renderings

  16. TextWithImageDrawable 一个可以同时包含图片和文字的drawable,使用方式类似TextView和它的drawableLeft之类的方法,功能比较全面,可以代替TextView或是解决一些非得需要在ImageView中同时显示文字和图片的问题 项目地址:https://github.com/wuseal/TextWithImageDrawable

  17. AnchorImageView 一个可以锚点定位的ImageView(根据像素点) Demo中通过AnchorImageView简单的实现了一个课本点读的功能 项目地址:https://github.com/jcodeing/AnchorImageView Demo 地址:Download here 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

  18. PinWheel 一个旋转的大风车Dialog 项目地址:https://github.com/codingWang/PinWheel 效果图:Renderings

  19. ColorArcProgressBar 一个可定制的圆形进度条,通过xml参数配置可实现QQ健康中步数的弧形进度显示、仪盘表显示速度、最常见的下载进度条等功能。 项目地址:https://github.com/Shinelw/ColorArcProgressBar 效果图: ColorArcProgressBar

  20. LoadingDrawable 一些酷炫的android加载动画,可以与任何组件配合使用作为加载的组件或者ProgressBar。 项目地址:https://github.com/dinuscxj/LoadingDrawable 效果图: LoadingDrawable LoadingDrawable LoadingDrawable LoadingDrawable

  21. Android-SpinKit Android加载动画库 项目地址:https://github.com/ybq/Android-SpinKit 效果图: Renderings

八、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

  12. MoneyTextView 一个支持加法运算的金额输入TextView 项目地址:https://github.com/andyken/MoneyTextView 效果图: 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

  9. PieChartView 比较简单直接的饼状统计报表图,使用方便,设置相应的属性参数即可 项目地址:https://github.com/wuseal/PieChartView Demo 地址:https://github.com/wuseal/PieChartView 效果图: Renderings

十五、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. ParallaxBackLayout 视差滑动返回的 Activity 项目地址:https://github.com/anzewei/ParallaxBackLayout Demo 地址:https://github.com/anzewei/ParallaxBackLayout/blob/master/ext/demo.apk?raw=true 效果图:Renderings

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

  5. 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 精简播放栏

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

  7. Inscription 可用于展示应用 change 和 new feature 信息 项目地址:https://github.com/MartinvanZ/Inscription

  8. ActivityTransition Activity 切换动画,包括渐变、flip、某个位置进入等等 项目地址:https://github.com/ophilbert/ActivityTransition 文档介绍:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true

  9. EasyAndroidAnimations 针对 View 的各种动画 项目地址:https://github.com/2359media/EasyAndroidAnimations

  10. ViewAnimation 对android view 动画进行封装,实现起更简单,自带三种常见运动路径,其他的可自定义 项目地址:https://github.com/guohuanwen/ViewAniamtion 效果图:ViewAnimation APP 示例:QQ名片圈圈效果

  11. AndroidLoadingAnimation 多种android加载动画 项目地址:https://github.com/guohuanwen/AndroidLoadingAnimation 效果图:TaiJIView

  12. android-lockpattern Android 的图案密码解锁 项目地址:https://code.google.com/p/android-lockpattern/ 原理剖析文档:[android-lockpattern](http://a.codekk.com/detail/Android/爱早起/Android Lock Pattern 源码解析) 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 开机的图案密码解锁,支付宝的密码解锁

  13. PatternLock 另一个 Android 图案解锁库 项目地址:https://github.com/DreaminginCodeZH/PatternLock Demo 地址:https://github.com/DreaminginCodeZH/PatternLock/raw/master/dist/sample.apk 效果图:Renderings APP 示例:Android 开机的图案密码解锁,支付宝的密码解锁

  14. RangeBar 类似于 SeekBar,不同的是可以选择一个范围内的值而不是单个值 项目地址:https://github.com/edmodo/range-bar Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/range-bar-demo.apk?raw=true 效果图:Renderings

  15. ChromeView 利用 Chromium 实现的 WebView,解决各个 Android 版本 WebView 不同的问题,同时利用最新 Chrome 代码 项目地址:https://github.com/pwnall/chromeview

  16. android-phased-seek-bar 支持预先定义状态的 SeekBar 项目地址:https://github.com/ademar111190/android-phased-seek-bar 效果图:Renderings

  17. Android Slider Preference Library 可添加到设置中的基于对话框的 RankBar 小部件 项目地址:https://github.com/jayschwa/AndroidSliderPreference

  18. ShowcaseView library 用于高亮显示应用程序的特定部分,从而突出突出重点 项目地址:https://github.com/amlcurran/ShowcaseView

  19. android-segmented-control Android 上的 Segmented Controls,相当于 RadioButton 组 项目地址:https://github.com/hoang8f/android-segmented-control

  20. Swipeable Cards 类似 Tinder 的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢 项目地址:https://github.com/kikoso/Swipeable-Cards Demo 地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demo

  21. EdgeEffectOverride 改变 ScrollView, ListView, ExpandableListView, GridView, ViewPager 等滚动控件滚动到边缘的颜色效果 项目地址:https://github.com/AndroidAlliance/EdgeEffectOverride

  22. android-pinned-header-listviews 使 ExpandListView 的 Group 滑动到顶端时会固定不动直到另外一个 Group 到达顶端 项目地址:https://github.com/rtyley/android-pinned-header-listviews

  23. AndroidSwipeLayout 滑动 Layout,支持单个 View,ListView,GridView 项目地址:https://github.com/daimajia/AndroidSwipeLayout Demo 地址:Download Demo 效果图:Renderings

  24. DynamicCardLayout 在 Android 中实现的类似 Windows8 的瓷片布局 项目地址:https://github.com/dodola/DynamicCardLayout 效果图:Renderings

  25. Emoticons-Keyboard 带表情情符号的自定义键盘 项目地址:https://github.com/chiragjain/Emoticons-Keyboard 效果图:Renderings

  26. Android Typeface Helper 可以帮你轻松实现自定义字体的库 项目地址:https://github.com/norbsoft/android-typeface-helper 效果图:Renderings

  27. Android-Anim-Playground 几个动画效果,其中第二个基于 android-svg 的绘制效果非常好 项目地址:https://github.com/Tibolte/Android-Anim-Playground 效果图:Renderings

  28. AlertView 仿iOS的AlertViewController 几乎完美还原iOS 的 AlertViewController ,同时支持Alert和ActionSheet模式,每一个细节都是精雕细琢,并把api封装成懒到极致模式,一行代码就可以进行弹窗. 项目地址:https://github.com/saiwu-bigkoo/Android-AlertView 效果图:Renderings

  29. NiftyDialogEffects 支持自定义飞入动画样式的 Dialog 项目地址:https://github.com/sd6352051/NiftyDialogEffects 效果图:Renderings 在线演示:http://tympanus.net/Development/ModalWindowEffects/

  30. PostOffice 创建 Holo 及 Material Design 样式的 Dialog 项目地址:https://github.com/r0adkll/PostOffice 效果图:Renderings

  31. Swipecards 类似 Tinder 的卡片效果,可以加载图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢,根据 Kikoso's Swipeable-Cards 改造而来 项目地址:https://github.com/Diolor/Swipecards

  32. SeekArc 圆形的 SeekBar 项目地址:https://github.com/TriggerTrap/SeekArc 效果图:Renderings

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

  34. range-seek-bar 随机值选取的 SeekBar 项目地址:https://github.com/yahoo/android-range-seek-bar 效果图:Renderings

  35. MaterialRangeBar 可以选择一个范围内的值而不是单个值的 SeekBar,RangeBar 的 Material Design 风格适配 项目地址:https://github.com/oli107/material-range-bar 效果图:Renderings

  36. MaterialList Material Design 风格的 CardView 项目地址:https://github.com/dexafree/MaterialList Demo 地址:https://play.google.com/store/apps/details?id=com.dexafree.materiallistviewexample 效果图:Renderings

  37. road-trip 设置 path 的各种动画效果,以及如何实现复杂路径动画,类似于 ios 中的指纹注册界面的指纹动画效果 项目地址:https://github.com/romainguy/road-trip 效果图:Renderings

  38. dialogplus 一个简单的 Android 对话框,支持不同的弹出模式 项目地址:https://github.com/orhanobut/dialogplus 效果图:Renderings

  39. FlowLayout 一个简单的流式布局,用法类似 LinearLayout,但是能够让子元素根据宽度自动换行 项目地址:FLowLayout 效果图:Renderings

  40. CircleSeekbar 一个环形Seekbar组件,支持叠加复合使用 项目地址:CircleSeekbar 效果图: Renderings Renderings

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

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

  43. material-camera material风格的camera。能使camera使用起来更简单的库。 项目地址:https://github.com/afollestad/material-camera 效果图: Renderings

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

  45. NotifyUtil 最常见的通知样式库 项目地址:https://github.com/wenmingvs/NotifyUtil demo地址:https://github.com/wenmingvs/NotifyUtil#notifydemo

  46. CanPhotos 使用fresco选取多张图片并可预览图片 项目地址:https://github.com/canyinghao/CanPhotos 效果图: Renderings

  47. CanDialog 仿照系统Dialog所写,继承于FrameLayout,添加一些动画,一些显示类型。 项目地址:https://github.com/canyinghao/CanDialog 效果图: Renderings

  48. WindRoseDiagramView 一个风力玫瑰图的 View 组件,项目地址:https://github.com/timqi/WindRoseDiagramView/ 效果图

  49. MaterialRatingBar 与 Google 系应用设计相同、支持拉伸、修正原生实现诸多问题的星级评分条。可直接替换 RatingBar。 项目地址:https://github.com/DreaminginCodeZH/MaterialRatingBar Demo 地址:https://github.com/DreaminginCodeZH/MaterialRatingBar/releases/download/v1.0.2/sample-release.apk 效果图

  50. Spotlight Android图书馆点亮项目的教程或漫步等... 項目地址:https://github.com/TakuSemba/Spotlight

效果圖: Renderings

  1. SpeedView Android的动态车速表和量规。 惊人,强大,多形 ⚡️ 項目地址: https://github.com/anastr/SpeedView 效果圖: Renderings

  2. MaterialPlayPauseDrawble Material Design 的播放/暂停图标动画,可作为 DrawableImageView 或 ImageButton 使用 項目地址: https://github.com/DreaminginCodeZH/MaterialPlayPauseDrawble 效果图: Renderings

第二部分 工具库

主要包括那些不错的开发库,包括依赖注入框架、图片缓存、网络请求、数据库 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://a.codekk.com/detail/Android/扔物线/Dagger 源码解析) 文档介绍:http://square.github.io/dagger/

  5. AutoParcel 注解自动生成Parcelable实现代码的库 项目地址:https://github.com/frankiesardo/auto-parcel 这篇文章详细介绍了它的使用方法:AutoParcel 作者认为使用AutoParcel的好处是,可以简化构造函数,方便IDE代码自动完成,方便测试,前向兼容,生成不可变的对象。 文档介绍:https://github.com/frankiesardo/auto-parcel

  6. Dilutions 通过注解生成协议映射执行跨模块的界面跳转和方法调用,解耦的协议框架 项目地址:https://github.com/HomHomLin/Dilutions 文档介绍:https://github.com/HomHomLin/Dilutions

二、图片缓存

  1. Android-Universal-Image-Loader 图片缓存,目前使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。 项目地址:https://github.com/nostra13/Android-Universal-Image-Loader 原理剖析文档:[Android-Universal-Image-Loader](http://a.codekk.com/detail/Android/huxian99/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

  11. OkHttpFinal 一个对OkHttp封装的简单易用型HTTP请求和文件下载管理框架 项目地址:https://github.com/pengjianbo/OkHttpFinal Demo 地址:https://github.com/pengjianbo/OkHttpFinal

四、数据库 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. GreenDaoUpgradeHelper greenDAO的数据库升级帮助类,只需一行代码解决数据库升级 项目地址:https://github.com/yuweiguocn/GreenDaoUpgradeHelper

  3. ActiveAndroid Android Sqlite orm 的 db 工具类 项目地址:https://github.com/pardom/ActiveAndroid 文档介绍:https://github.com/pardom/ActiveAndroid/wiki/_pages

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

  5. Realm 移动端的数据库,适用于 Phone、Tablet、Wearable,支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好 项目地址:https://github.com/realm/realm-java 文档介绍:http://realm.io/docs/java/0.72.0/

  6. ormlite-android 项目地址:https://github.com/j256/ormlite-android 文档介绍:http://ormlite.com/sqlite_java_android_orm.shtml

  7. Schematic 根据 SQLite 生成 ContentProvider 项目地址:https://github.com/SimonVT/schematic

  8. DBFlow Android SQLite ORM 工具库。综合了 Active Android, Schematic, Ollie,Sprinkles 等库的优点;通过注解实现,性能好;能生成 ContentProvider。 项目地址:https://github.com/Raizlabs/DBFlow 文档介绍:https://github.com/Raizlabs/DBFlow#usage-docs

  9. 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](http://a.codekk.com/detail/Android/Caij/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 详解

  14. MultiImageSelector 一个本地图片选择器,支持图片的单选和多选,直接返回所选图片的路径。 项目地址:https://github.com/lovetuzitong/MultiImageSelector.git

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

  1. Nine Old Androids 将 Android 3.0(Honeycomb)所有动画 API(ObjectAnimator ValueAnimator 等)兼容到 Android1.0 项目地址:https://github.com/JakeWharton/NineOldAndroids 原理剖析文档:[Nine Old Androids](http://a.codekk.com/detail/Android/Mr.Simple/NineOldAnimations 源码解析) 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. UniversalVideoView Android上定义播放器控件,支持自定义控制UI, 全屏播放, 重力感应自动切换横竖屏. 项目地址:https://github.com/linsea/UniversalVideoView Sample Screenshot 1 Sample Screenshot 2

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

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

  9. Bitmap Smart Clipping using OpenCV 图片智能裁剪保留重要部分显示 项目地址:https://github.com/beartung/tclip-android 利用淘宝的 http://code.taobao.org/p/tclip/ 库完成 一淘玩客正在使用的图片裁剪,自动识别图片中的重要区域,并且在图片裁剪时保留重要区域 特点:(1). 能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉 (2).自动其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出重区域

  10. Cropper 图片局部剪切工具,可触摸控制选择区域或旋转 项目地址:https://github.com/edmodo/cropper 文档介绍:https://github.com/edmodo/cropper/wiki 效果图:Renderings

  11. uCrop Yalantis 出品的强大的图片裁剪库 ,支持缩放,旋转图片,支持各种比例的裁剪框 项目地址:https://github.com/Yalantis/uCrop 效果图:Renderings

  12. android-crop 图片裁剪 Activity 项目地址:https://github.com/jdamcd/android-crop 效果图:Renderings

  13. TileView 可分块显示大图,支持 2D 拖动、双击、双指放大、双指捏合 项目地址:https://github.com/moagrius/TileView Demo 地址:http://moagrius.github.io/TileView/TileViewDemo.apk

  14. BlurEffectForAndroidDesign 图片模糊效果 项目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesign

  15. android-eye PC 端网页查看同一局域网内的手机摄像头内容,可以用来监控哦 项目地址:https://github.com/Teaonly/android-eye Demo 地址:https://play.google.com/store/apps/details?id=teaonly.droideye

  16. libpng for Android PNG 图片的 jni 库,支持几乎 png 的所有特性 项目地址:https://github.com/julienr/libpng-android 文档介绍:http://www.libpng.org/pub/png/libpng.html

  17. android-gpuimage 基于 GPU 的图片滤镜 项目地址:https://github.com/CyberAgent/android-gpuimage

  18. AndroidFaceCropper 图片脸部自动识别,将识别后的局部图片返回 项目地址:https://github.com/lafosca/AndroidFaceCropper

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

  20. svg-android Android Svg 矢量图形支持 项目地址:https://github.com/japgolly/svg-android https://github.com/japgolly/svg-android

  21. Android Visualizer 从 Android MediaPlayer 获得音频,然后像 iTunes 及 WinAmp 一样展示音轨 项目地址:https://github.com/felixpalmer/android-visualizer

  22. ExoPlayer 包括仪表板和 SmoothStreaming 自适应回放,缓存持久化和自定义渲染器,方便自定义和扩展,并且可以通过应用商店更新 项目地址:https://github.com/google/ExoPlayer

  23. DanmakuFlameMaster android 上开源弹幕解析绘制引擎项目 项目地址:https://github.com/ctiao/DanmakuFlameMaster

  24. OpenDanmaku android 上一个轻量级的更简单的开源弹幕控件 项目地址:https://github.com/linsea/OpenDanmaku

  25. K-Sonic 一个基于Sonic的变音Demo,可调节Speed,Pitch,Rate. 项目地址:https://github.com/jcodeing/K-Sonic Demo 地址:Download here

  26. KMedia 一个为Android打造的应用级媒体框架, 它可以助你快速搭建媒体应用. 内部重新定义Android MediaPlayer API并对其封装, 简化和扩展一些原生API不支持的功能. 其中涵盖了, AB播放/循环 位置单元/间隔/循环 变速播放 媒体队列管理 媒体服务/绑定 音频后台/通知栏控制 媒体按键自定义处理 音频焦点管理 媒体引擎切换/扩展... 等功能的快速实现. 以及, 对视频播放实现方面的封装. 其中将视频视图主要分为: 绘制层 控制组 控制层, 三个部分. 从而能够快速并灵活的实现Video相关应用的大部分功能, 包括 视频浮窗/拖动/调整位置大小 横竖屏自动切换 全屏锁定 手势调整亮度/音量/进度 字幕/切换/拖动 视频段落/间隔复读 视频续集/列表/循环播放 动态切换视频控制层 控制层分离... 等功能的快速实现. 项目地址:https://github.com/jcodeing/KMedia →项目模块:KMedia-Core & KMedia-Uie & KMedia-Exo Demo-Gif-1Demo-Gif-2Demo-Gif-3

八、事件总线(订阅者模式)

通过发布/订阅事件解耦事件发送和接受,从而简化应用程序组件(Activities, Fragments 及后台线程)之间的通信

  1. EventBus greenrobot 的开源项目 项目地址:https://github.com/greenrobot/EventBus 原理剖析文档:[EventBus](http://a.codekk.com/detail/Android/Trinea/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://a.codekk.com/detail/Android/FFish/DynamicLoadApk 源码解析) 文档介绍: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. EffortlessPermissions 基于 Google EasyPermissions 进行扩展的动态权限库 项目地址:https://github.com/DreaminginCodeZH/EffortlessPermissions

  4. Salvage view 带 View 缓存的 Viewpager PagerAdapter,很方便使用 项目地址:https://github.com/JakeWharton/salvage

  5. Android Priority Job Queue Android 后台任务队列 项目地址:https://github.com/path/android-priority-jobqueue 文档介绍:https://github.com/path/android-priority-jobqueue#getting-started

  6. Cobub Razor 开源的 mobile 行为分析系统,包括 web 端、android 端,支持 ios 和 window phone 项目地址:https://github.com/cobub/razor Demo 地址:http://demo.cobub.com/razor 官网网址:http://dev.cobub.com/

  7. Countly Android 移动端数据采集分析系统 项目地址:https://github.com/Countly/countly-sdk-android 官网网址:https://count.ly/

  8. aFileChooser 文件选择器,可内嵌到程序中,而无需使用系统或三方文件选择器。 项目地址:https://github.com/iPaulPro/aFileChooser

  9. androidpn 基于 xmpp 协议的消息推送解决方案,包括服务器端和 android 端。 项目地址:https://github.com/dannytiehui/androidpn

  10. Bolts Android 的异步编程模式 项目地址:https://github.com/BoltsFramework/Bolts-Android/ 与 AsyncTask 比较:(1) 使用的是无大小限制的线程池 (2) 任务可组合可级联,防止了代码耦合

  11. CastCompanionLibrary-android 使 Android 程序中更快的接入 Google Cast 项目地址:https://github.com/googlecast/CastCompanionLibrary-android 文档介绍:https://developers.google.com/cast/

  12. CastVideos-android 从 Android 设备分享 Video 通过 Google Cast 项目地址:https://github.com/googlecast/CastVideos-android 文档介绍:https://developers.google.com/cast/

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

  14. Memento 保证在系统配置改变时,Activity 中的某些数据可以简单安全的保持不变 项目地址:https://github.com/mttkay/memento 文档介绍:https://github.com/mttkay/memento#usage

  15. FreeFlow 布局引擎,更简单的创建自定义布局,并且当数据和布局改变时更美观的过渡动画 项目地址:https://github.com/Comcast/FreeFlow Demo 地址:https://github.com/Comcast/FreeFlow/releases

  16. Android Gesture Detectors Framework Android 手势框架,支持双指旋转、移动、平移、缩放等 项目地址:https://github.com/Almeros/android-gesture-detectors

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

  18. Activity animation Activity 跳转动画,支持各个方向波浪的效果 项目地址:https://github.com/flavienlaurent/activityanimation 在线演示:https://www.youtube.com/watch?v=-E0sc6w_Jck

  19. KryoNet 通过 NIO 提供客户端和服务器端 TCP/UDP 网络传输的 Java 库 项目地址:https://github.com/EsotericSoftware/kryonet

  20. Rebound 一个模仿弹簧反弹的 Java 库,可用于创建动画 项目地址:https://github.com/facebook/rebound

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

  22. SmartAppUpdates Android App 增量升级,包含前后端方案、Demo、以及 so 库,可用于商店或大体积 App 差分升级 项目地址:https://github.com/cundong/SmartAppUpdates

  23. Magnet 创建类似 Facebook 聊天桌面悬浮窗的效果 项目地址:https://github.com/premnirmal/Magnet

  24. AcDisplay 将 Android 的通知都集中到锁屏显示 项目地址:https://github.com/AChep/AcDisplay Demo 地址:https://play.google.com/store/apps/details?id=com.achep.acdisplay

  25. QrCodeScan ZXing 和 ZBar 结合的二维码扫描项目,提高了扫描效率 项目地址:https://github.com/SkillCollege/QrCodeScan 效果图:Renderings

  26. Android-ScreenShot 实现 android 系统截屏功能 项目地址:https://github.com/Android-ScreenShot/AndroidScreenShotService 文档介绍:http://blog.csdn.net/buptgshengod/article/details/39155979

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

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

  29. Android Signature Pad Android 自定义的签名 View,可自定义笔颜色和大小 项目地址:https://github.com/gcacace/android-signaturepad Demo 项目:https://github.com/gcacace/android-signaturepad/tree/master/SignaturePad-Example

  30. Teleport Android Wear 数据同步和消息传送库 项目地址:https://github.com/Mariuxtheone/Teleport

  31. DebugLog 可以帮你创建更简单和更容易理解的调试日志,能够友好的显示调试信息所在类和函数。 项目地址:https://github.com/MustafaFerhan/DebugLog 效果图:Renderings

  32. Logger 简单、美观而且十分强大的 Android 日志工具 项目地址:https://github.com/orhanobut/logger Demo 地址:https://github.com/orhanobut/logger/tree/master/app 效果图:Renderings

  33. jlog 可以灵活配置的日志工具,支持JSON打印,日志保存到指定文件,日志显示调用位置(混淆模式下依然有效) 项目地址:https://github.com/JiongBull/jlog Demo 地址:apk地址 效果图:Renderings

  34. Phrase square 组开源大牛写的字符串替换类 项目地址:https://github.com/square/phrase

  35. ColorPhrase 模仿 phrase 写的对字符串个别字符颜色改变的类,高效强大! 项目地址:https://github.com/THEONE10211024/ColorPhrase 效果图:Renderings

  36. PinyinSearch 一个为 T9 搜索和 Qwerty 搜索,提供数据解析与匹配等方法的拼音搜索 java 库。 项目地址: https://github.com/handsomezhou/PinyinSearchLibrary Demo 地址: ContactsSearch AppSearch 效果图:Renderings APP 示例: 通讯录应用,微信电话本

  37. PrainView PaintView 是一个画图工具: 可直接使用设定按钮来实现已拥有的方法,且拓展性强 基础功能:更换颜色、更换橡皮、以及更换橡皮和笔的粗细、清屏、倒入图片 特殊功能:保存画笔轨迹帧动画、帧动画导入导出、ReDo和UnDo 项目地址:Paintview 效果图:p1 p2 demo地址:apk地址 原理解析:PaintView 绘图控件解析

  38. CodeView CodeView代码查看/修改工具: 基于WebView制作的代码编辑器,实现代码高亮,暗色主题 项目地址:CodeView 效果图:p3 p4 demo地址:apk地址

  39. ExplorerView 文件浏览器:继承自ListView,可拓展性强,可进行文件类型分析 项目地址:CodeView 效果图:p5 p6 demo地址:apk地址

  40. ReadView 小说阅读器,支持文字字体、颜色、背景、进度等多种调整,支持一键设置。 项目地址:ReadView 效果图:p7 demo地址:apk地址

  41. MarkDownView 支持MarkDown语法的渲染器,基于WebView的MarkDown渲染器,支持标准化的MarkDown语法, 调用接口和CodeView保持一致使用简便 项目地址:ReadView 效果图:markdown demo地址:apk地址

  42. VerTextView竖行排版的TextView: 支持竖行排版,添加了下划线功能,开启简便,下划线粗细、颜色、间距均可自定义, 接口调用方式与TextView相似,使用简便。 项目地址:ReadView 效果图:vertextview demo地址:apk地址

  43. 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. Douya 豆芽——Material Design 的豆瓣客户端 项目地址:https://github.com/DreaminginCodeZH/Douya 效果图:

  7. gnucash-android 一个记账理财软件 项目地址:https://github.com/codinguser/gnucash-android APK 地址:http://play.google.com/store/apps/details?id=org.gnucash.android

  8. AntennaPod 支持 rss 订阅、音乐订阅 项目地址:https://github.com/danieloeh/AntennaPod APK 地址:https://play.google.com/store/apps/details?id=de.danoeh.antennapod

  9. ChaseWhisplyProject 打鬼游戏 项目地址:https://github.com/tvbarthel/ChaseWhisplyProject APK 地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.games.chasewhisply

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

  11. Financius 简单易用的记账程序 项目地址:https://github.com/mvarnagiris/Financius APK 地址:https://play.google.com/store/apps/details?id=com.code44.finance

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

  13. simpletask 基于 todo.txt 官方应用的另一个客户端 项目地址:https://github.com/mpcjanssen/simpletask-android APK 地址:https://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo

  14. Muzei Live Wallpaper 定时更换桌面精美壁纸 项目地址:https://github.com/romannurik/muzei APK 地址:https://play.google.com/store/apps/details?id=net.nurik.roman.muzei

  15. Scanbook 扫描搜索查询图书信息 项目地址:https://github.com/JayFang1993/ScanBook APK 地址:http://www.wandoujia.com/apps/com.scanbook

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

  17. CoolClock An Android clock 项目地址:https://github.com/socoolby/CoolClock APK 地址:https://github.com/socoolby/CoolClock/blob/master/CoolClock.apk 效果图:

第四部分 开发工具及测试工具

主要介绍和 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. AndroidUtiles 集合了所有常用的安卓工具类 项目地址:https://github.com/l123456789jy/Lazy

  12. Gradle Retrolambda Plugin Retrolambda是将 Java8 的 Lambdas 应用于 Java7 的工具,本项目是 Gradle 插件,通过 Retrolambda 从而使 Java 或 Android 项目用 Java8 的 Lambdas 编写,将编译后的字节码转换为 Java6 和 7 的字节码从而正常运行 项目地址:https://github.com/evant/gradle-retrolambda

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

  14. Android Gen Drawable Maven plugin 在编译时根据 SVG 描述文件生成不同分辨率的 jpg、png 或点 9 图片 项目地址:https://github.com/avianey/androidgendrawable-maven-plugin

  15. Android Asset Studio 各种 Android 资源自动生成器,包括启动图标、ActionBar 图标、通知栏图标、点 9 等 项目地址:https://github.com/romannurik/AndroidAssetStudio 在线演示:http://romannurik.github.io/AndroidAssetStudio/

  16. jsonschema2pojo 根据 Json 内容生成 java 对象,支持 jackjson 和 gson 项目地址:https://github.com/joelittlejohn/jsonschema2pojo 在线演示:http://www.jsonschema2pojo.org/

  17. GsonFormat 根据 JSONObject 格式的字符串,自动生成实体类参数的 Android Studio/IntelliJ IDEA 插件 项目地址:https://github.com/zzz40500/GsonFormat 效果图:Renderings

  18. Json2Class 根据Json生成Java文件的Android Studio/IntelliJ IDEA 插件,并且可以选择Parcelable或者Serializable 项目地址:https://github.com/anzewei/Json2Class 效果图:Renderings

  19. 9-Patch-Resizer 自动生成 png 及点 9 图片的不同分辨率版本 项目地址:https://github.com/redwarp/9-Patch-Resizer

  20. AndroidLocalizationer 可用于将项目中的 string 资源自动翻译为其他语言的 Android Studio/IntelliJ IDEA 插件 项目地址:https://github.com/westlinkin/AndroidLocalizationer

  21. 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-mock, mockito, easy-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   现就职于 Google,(曾就职于 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 开发者信息

原文地址:https://github.com/Trinea/android-open-project

该文章版权属于Ang_qq_252390816
摘录自:https://blog.csdn.net/ezconn/article/details/82665120

相关文章:

猜你喜欢
热门标签