Android开源项目第一篇——个性化控件(View)篇
包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style、其他
Android开源项目第二篇——工具库篇
包括依赖注入、图片缓存、网络相关、数据库ORM工具包、Android公共库、高版本向低版本兼容库、多媒体、事件总线、传感器、安全、插件化、文件、其他
Android开源项目第三篇——优秀项目篇
比较有意思的完整的Android项目
Android开源项目第四篇——开发及测试工具篇
包括开发效率工具、开发自测相关、测试工具、开发及编译环境、其他
Android开源项目第五篇——优秀个人和团体篇
乐于分享并且有一些很不错的开源项目的个人和组织,包括JakeWharton、Chris Banes、Koushik Dutta等大牛
第一部分 个性化控件(View)
主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style等等。
一、ListView
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-pulltorefresh
项目地址:
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
Demo地址:
https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh/blob/master/ptr-demo/target/ultra-ptr-demo.apk?raw=true
4,DropDownListView
下拉刷新及滑动到底部加载更多ListView
项目地址:
https://github.com/Trinea/AndroidCommon
Demo地址:
https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:
http://www.trinea.cn/android/dropdown-to-refresh-and-bottom-load-more-listview/
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
二、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
APP示例:太多了。。现在连google都在用
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,知乎
三、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
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
效果图:
APP示例:Path
四、ViewPager 、Gallery
1、Android-ViewPagerIndicator
配合ViewPager使用的Indicator,支持各种位置和样式
项目地址:
https://github.com/JakeWharton/Android-ViewPagerIndicator
Demo地址:
https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample
APP示例:太多了。。
2、JazzyViewPager
支持Fragment切换动画的ViewPager,动画包括转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等,效果类似桌面左右切换的各种效果,不过桌面并非用ViewPager实现而已
项目地址:
https://github.com/jfeinstein10/JazzyViewPager
Demo地址:
https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
3、JellyViewPager
特殊切换动画的ViewPager
项目地址:
https://github.com/chiemy/JellyViewPager
效果图: