最近准备梳理一下Android开发的相关知识,看到一个很好地文章:Android开源项目分类汇总,当然这篇文章也早就被转载过好多次了,换之以“据说年薪30万的Android程序员必须知道的帖子”的标题,不禁佩服标题的魅力,毫无疑问后者会吸引更多地关注。且罢,内容才是王道,这篇文章也为我之后的学习提供了路径,当然个人感觉内容太多,先挑一些感兴趣的学着吧,毕竟有兴趣才有动力!
在制定自己计划之前,先看看原文的大纲:
Android开源项目第一篇——个性化控件(View)篇
包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style、其他
Android开源项目第二篇——工具库篇
包括依赖注入、图片缓存、网络相关、数据库ORM工具包、Android公共库、高版本向低版本兼容库、多媒体、事件总线、传感器、安全、插件化、文件、其他
Android开源项目第三篇——优秀项目篇
比较有意思的完整的Android项目
Android开源项目第四篇——开发及测试工具篇
包括开发效率工具、开发自测相关、测试工具、开发及编译环境、其他
Android开源项目第五篇——优秀个人和团体篇
乐于分享并且有一些很不错的开源项目的个人和组织,包括JakeWharton、Chris Banes、Koushik Dutta等大牛
一、ListView
1、android-Ultra-Pull-to-Refresh
下拉刷新,继承于ViewGroup可以包含任何View。功能甚至比SwipeRefreshLayout强大。使用起来非常简单。良好的设计,如果你想定制自己的UI样式,非常简单,就像给ListView加一个Header View那么简单。支持 API LEVEL >= 8
项目地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh
Demo地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh/blob/master/ptr-demo/target/ultra-ptr-demo.apk?raw=true
2、pinned-section-listview
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView
项目地址:https://github.com/beworker/pinned-section-listview
3、ListBuddies
自动滚动的双列ListView ,两个ListView滚动速度不一致,有视差效果
项目地址:https://github.com/jpardogo/ListBuddies
Demo地址:https://play.google.com/store/apps/details?id=com.jpardogo.android.listbuddies
二、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
Demo地址:https://play.google.com/store/apps/details?id=com.slidingmenu.example
3、CircularFloatingActionMenu
一个可定制的圆形的浮动菜单控件,类似于Path的圆形菜单。这个控件的可定制性更强,可以很容易的定制菜单出现消失时的动画,起始角度和半径。
项目地址:https://github.com/oguzbilgener/CircularFloatingActionMenu
Demo地址:https://github.com/oguzbilgener/CircularFloatingActionMenu/tree/master/samples
4、 NavigationDrawerSI
Navigation Drawer的一个简单实现,滑动并以折叠方式打开菜单
项目地址:https://github.com/mmBs/NavigationDrawerSI
Demo地址:https://play.google.com/store/apps/details?id=mmbialas.pl.navigationdrawersi
5、 DragLayout
使用support.v4包下的ViewDragHelper实现QQ5.0侧滑
项目地址:https://github.com/BlueMor/DragLayout
动画效果显示
三、ImageView
1、RoundedImageView
带圆角的ImageView
2、 CircleImageView
圆形的ImageView
项目地址:https://github.com/hdodenhof/CircleImageView
四、ProgressBar
1、HoloCircularProgressBar
Android4.1 时钟App样式
项目地址:https://github.com/passsy/android-HoloCircularProgressBar
2、HoloCircularProgressBar
Android4.1 时钟App样式
项目地址:https://github.com/passsy/android-HoloCircularProgressBar
五、Buttons
1、FancyButtons
一个不用图片就可以帮助我们创建出漂亮按钮的库。
项目地址:https://github.com/medyo/fancybuttons
Demo地址:https://github.com/medyo/fancybuttons/tree/master/samples
六、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
2、 GraphView
绘制图表和曲线图的View,可用于Android上的曲形图、柱状图、波浪图展示
项目地址:https://github.com/jjoe64/GraphView
Demo项目:https://github.com/jjoe64/GraphView-Demos
APP示例:Wordpress Android,Google Analytics
3、HoloGraphLibrary
绘制现状图、柱状图、饼状图
项目地址:https://bitbucket.org/danielnadeau/holographlibrary/src
文档介绍:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home