GitHub上史上最全的Android开源项目分类汇总
http://itindex.net/detail/51896-github-android-%E5%BC%80%E6%BA%90
今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总。因为类容太多了,我没有一个个完整地看完。可是里面介绍的开源项目都非常有參考价值,包含非常炫的界面特效设计、个性化控件、工具库、优秀的Android开源项目、开发測试工具、优秀个人和团体等。能够这样说,每一位Andorid开发人员都能从中找到一个或多个适用自己项目的解决方式。消化吸收并加以利用,能够为自己的APP增色不少。文章最后还列出了部分国外著名Android开发人员的信息,包含GitHub地址和博客地址。总之。作为一个Android开发人员。看了这篇文章一定会受益匪浅。
下面是正文:
Android开源项目分类汇总
假设你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析
欢迎增加 QQ 交流群:(入群理由必须填写群简单介绍问题答案) 214742675(五群) 377723625(一群已满) 383537512(二群已满) 63224677(三群已满) 148844489(四群已满) 不要反复加群
欢迎大家推荐好的Android开源项目,可直接Commit,欢迎Star
、Fork
:)
关于我。欢迎关注
微博:Trinea 主页:trinea.cn 邮箱:trinea.cn#gmail.com QQ:717763774
很多其它: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开源项目第三篇——优秀项目篇
比較有意思的完整的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
-
android-pulltorefresh
一个强大的拉动刷新开源项目。支持各种控件下拉刷新。ListView、ViewPager、WevView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment上下左右拉动刷新,比以下johannilsson那个仅仅支持ListView的强大的多。而且它实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好。
项目地址:https://github.com/chrisbanes/Android-PullToRefresh
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
APP演示样例:新浪微博各个页面 -
android-pulltorefresh-listview
下拉刷新ListView
项目地址:https://github.com/johannilsson/android-pulltorefresh
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refresh-listview-demo.apk?raw=true
PS:这个被非常多人使用的项目实际有不少bug,推荐使用上面的android-pulltorefresh -
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/ -
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 -
SwipeListView
支持定义ListView左右滑动事件,支持左右滑动位移,支持定义动画时间
项目地址:https://github.com/47deg/android-swipelistview
Demo地址:https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview
APP演示样例:微信 -
Android-SwipeToDismiss
滑动Item消失ListView
项目地址:https://github.com/romannurik/Android-SwipeToDismiss
支持3.0下面版本号见:https://github.com/JakeWharton/SwipeToDismissNOA
Demo地址:https://github.com/JakeWharton/SwipeToDismissNOA/SwipeToDismissNOA.apk/qr_code -
PinnedHeaderExpandableListView
首先它是一个ExpandableListView,可是它的头部能够固定,其次,在它的上面另一个头部能够来回伸缩
项目地址:https://github.com/singwhatiwanna/PinnedHeaderExpandableListView
APP演示样例:百度手机卫士垃圾清理界面
效果图: -
StickyListHeaders
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView,支持高速滑动。支持Android2.3及以上
项目地址:https://github.com/emilsjolander/StickyListHeaders
APP演示样例:Android 4.0联系人
效果图: -
pinned-section-listview
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView
项目地址:https://github.com/beworker/pinned-section-listview
效果图: -
PinnedHeaderListView
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView
项目地址:https://github.com/JimiSmith/PinnedHeaderListView -
QuickReturn
ListView/ScrollView的header或footer,当向下滚动时消失。向上滚动时出现
项目地址:https://github.com/lawloretienne/QuickReturn
Demo地址:https://play.google.com/store/apps/details? -
QuickReturnHeader
ListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现
项目地址:https://github.com/ManuelPeinado/QuickReturnHeader
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=true
APP演示样例:google plus -
IndexableListView
ListView右側会显示item首字母快捷索引。点击可高速滑动到某个item
项目地址:https://github.com/woozzu/IndexableListView
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=true
APP演示样例:微信通讯录、小米联系人 -
CustomFastScrollView
ListView高速滑动,同一时候屏幕中间PopupWindows显示滑动到的item内容或首字母
项目地址:https://github.com/nolanlawson/CustomFastScrollViewDemo
效果图: -
Android-ScrollBarPanel
ListView滑动时固定的Panel指示显示在scrollbar旁边
项目地址:https://github.com/rno/Android-ScrollBarPanel
效果展示:https://github.com/rno/Android-ScrollBarPanel/raw/master/demo_capture.png -
SlideExpandableListView
用户点击listView item滑出固定区域,其它item的区域收缩
项目地址:https://github.com/tjerkw/Android-SlideExpandableListView
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=true -
JazzyListView
ListView及GridView item以特殊动画效果进入屏幕。效果包含grow、cards、curl、wave、flip、fly等等
项目地址:https://github.com/twotoasters/JazzyListView
Demo地址:https://play.google.com/store/apps/details?id=com.twotoasters.jazzylistview.sample
效果展示:http://lab.hakim.se/scroll-effects/ -
ListViewAnimations
带Item显示动画的ListView,动画包含底部飞入、其它方向斜飞入、下层飞入、渐变消失、滑动删除等
项目地址:https://github.com/nhaarman/ListViewAnimations
Demo地址:https://play.google.com/store/apps/details?id=com.haarman.listviewanimations
APP演示样例:Google plus、Google Now卡片式进入、小米系统中应用商店、联系人、游戏中心、音乐、文件管理器的ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、Car Hire、Super BART、DK FlashCards、Counter Plus、Voorlees Verhaaltjes 2.0 -
DevsmartLib-Android
横向ListView
项目地址:https://github.com/dinocore1/DevsmartLib-Android
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk? -
TwoWayView
横向ListView的效果,继承自AdapterView
项目地址:https://github.com/lucasr/twoway-view -
HorizontalVariableListView
支持Item宽度不一致的ListView
项目地址:https://github.com/sephiroth74/HorizontalVariableListView -
LinearListView
用LinearLayout实现的ListView,可解决多个ListView并存等问题。眼下自己也有须要,等亲自尝试过后会再详细介绍
项目地址:https://github.com/frankiesardo/LinearListView -
MultiChoiceAdapter
支持多选的ListView Adapter
项目地址:https://github.com/ManuelPeinado/MultiChoiceAdapter
Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.multichoiceadapter.demo -
EnhancedListView
支持横向滑动删除列表项以及撤销删除的ListView,该项目的前身是SwipeToDismissUndoList
项目地址:https://github.com/timroes/EnhancedListView
Demo地址:https://play.google.com/store/apps/details?id=de.timroes.android.listviewdemo&rdid=de.timroes.android.listviewdemo
-
ListBuddies
自己主动滚动的双列ListView ,两个ListView滚动速度不一致,有视差效果
项目地址:https://github.com/jpardogo/ListBuddies
Demo地址:https://play.google.com/store/apps/details?id=com.jpardogo.android.listbuddies
效果展示: -
SwipeMenuListView
针对ListView item的側滑菜单
项目地址:https://github.com/baoyongzhang/SwipeMenuListView
效果展示:
APP演示样例:手机QQV5.0 -
PagingListView
分页载入的ListView。当滑动到ListView底部最后一个元素时,显示一个进度行,然后载入下一页数据,并显示。
-
PullZoomView
支持下拉时HeaderView缩放的ListView、ScrollView
项目地址:https://github.com/Frank-Zhu/PullZoomView
效果展示: -
PullToZoomInListView
滑动ListView时使其HeaderView尾随滑动缩放
项目地址:https://github.com/matrixxun/PullToZoomInListView
效果展示: -
CalendarListview
实现每一个月一行日历效果的ListView
项目地址:https://github.com/traex/CalendarListview
效果展示: -
sticky-headers-recyclerview
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ListView,採用support-v7中的RecyclerView实现
项目地址:https://github.com/timehop/sticky-headers-recyclerview -
PullSeparateListView
到达顶部或底部继续拉动时,实现Item间的相互分离,两种模式:(1) 所有分离的模式,即屏幕内所有Item都会分离 (2)部分分离模式,以点击位置为分界点,部分item分离
项目地址:https://github.com/chiemy/PullSeparateListView
效果展示: -
ExpandableLayout
Header 和 Content Item 都能够展开的 ExpandableListview
项目地址:https://github.com/traex/ExpandableLayout -
PagedHeadListView
支持paginated header以及material page indicator的ListView.
项目地址:https://github.com/JorgeCastilloPrz/PagedHeadListView
效果展示:
二、ActionBar
-
ActionBarSherlock
为Android全部版本号提供统一的ActionBar。解决4.0下面ActionBar的适配问题
项目地址:https://github.com/JakeWharton/ActionBarSherlock
Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos
APP演示样例:太多了。。如今连google都在用 -
ActionBar-PullToRefresh
下拉刷新,ActionBar出现载入中提示
项目地址:https://github.com/chrisbanes/ActionBar-PullToRefresh
Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.actionbarpulltorefresh.samples.stock
APP演示样例:Gmail。Google plus,知乎等 -
FadingActionBar
ListView向下滚动逐渐显现的ActionBar
项目地址:https://github.com/ManuelPeinado/FadingActionBar
Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demo
APP演示样例:google music,知乎 -
NotBoringActionBar
google music下拉收缩的ActionBar
项目地址:https://github.com/flavienlaurent/NotBoringActionBar
Demo地址:http://flavienlaurent.com/blog/2013/11/20/making-your-action-bar-not-boring/
APP演示样例:Google音乐 -
RefreshActionItem
带进度显示和刷新button的ActionBar
项目地址:https://github.com/ManuelPeinado/RefreshActionItem
Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.refreshactionitem.demo
APP演示样例:The New York Times,DevAppsDirect. -
GlassActionBar
类似玻璃的有一定透明度的ActionBar
项目地址:https://github.com/ManuelPeinado/GlassActionBar
Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.glassactionbardemo
APP演示样例:google music
三、Menu
-
MenuDrawer
滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层,支持Windows边缘、ListView边缘、ViewPager变化划出菜单等。
项目地址:https://github.com/SimonVT/android-menudrawer
Demo地址:http://simonvt.github.io/android-menudrawer/
APP演示样例:Gmail、Google Music等大部分google app -
SlidingMenu
滑出式菜单。通过拖动屏幕边缘滑出菜单,支持屏幕左右划出。支持菜单zoom、scale、slide up三种动画样式出现。
项目地址: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
MenuDrawer和SlidingMenu比較:SlidingMenu支持菜单动画样式出现,MenuDrawer支持菜单view处于内容的上下层 -
ArcMenu
支持类似Path的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单
项目地址:https://github.com/daCapricorn/ArcMenu
APP演示样例:Path
效果图:
https://dl.dropboxusercontent.com/u/11369687/preview1.png
https://dl.dropboxusercontent.com/u/11369687/raymenu.png -
android-satellite-menu
类似Path的左下角动画旋转菜单
项目地址:https://github.com/siyamed/android-satellite-menu
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/satellite-menu-demo.apk?raw=true
APP演示样例:Path -
radial-menu-widget
圆形菜单,支持二级菜单
项目地址:https://code.google.com/p/radial-menu-widget/
效果图:http://farm8.staticflickr.com/7377/11621125154_d1773c2dcc_o.jpg -
Android Wheel Menu
圆形旋转选取菜单
项目地址:https://github.com/anupcowkur/Android-Wheel-Menu
效果图: -
FoldingNavigationDrawer
滑动并以折叠方式打开菜单
项目地址:https://github.com/tibi1712/FoldingNavigationDrawer-Android
Demo地址:https://play.google.com/store/apps/details? -
AndroidResideMenu
仿 Dribbble 的边栏菜单
项目地址:https://github.com/SpecialCyCi/AndroidResideMenu
效果图: -
CircularFloatingActionMenu
一个可定制的圆形的浮动菜单控件,类似于Path的圆形菜单。这个控件的可定制性更强,能够非常easy的定制菜单出现消失时的动画,起始角度和半径。
项目地址:https://github.com/oguzbilgener/CircularFloatingActionMenu
Demo地址:https://github.com/oguzbilgener/CircularFloatingActionMenu/tree/master/samples
效果图: -
NavigationDrawerSI
Navigation Drawer的一个简单实现。滑动并以折叠方式打开菜单
项目地址:https://github.com/mmBs/NavigationDrawerSI
APP演示样例:https://play.google.com/store/apps/details?id=mmbialas.pl.navigationdrawersi
Demo地址:https://play.google.com/store/apps/details? -
DragLayout
使用support.v4包下的ViewDragHelper实现QQ5.0側滑
项目地址:https://github.com/BlueMor/DragLayout
效果图: -
LDrawer
Material Design 形式的展开折叠Icon
项目地址:https://github.com/ikimuhendis/LDrawer
效果图: -
Floating Action Button
悬浮的圆形菜单条,支持组建滚动时自己主动隐藏及其它设置
项目地址:https://github.com/shamanland/floating-action-button
效果图:
四、ViewPager 、Gallery
-
Android-ViewPagerIndicator
配合ViewPager使用的Indicator,支持各种位置和样式
项目地址:https://github.com/JakeWharton/Android-ViewPagerIndicator
Demo地址:https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample
APP演示样例:太多了。。 -
JazzyViewPager
支持Fragment切换动画的ViewPager。动画包含转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等
项目地址:https://github.com/jfeinstein10/JazzyViewPager
Demo地址:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
效果类似桌面左右切换的各种效果,只是桌面并不是用ViewPager实现而已 -
JellyViewPager
特殊切换动画的ViewPager
项目地址:https://github.com/chiemy/JellyViewPager
效果图: -
Android-DirectionalViewPager
支持横向和纵向(垂直)的ViewPager
项目地址:https://github.com/JakeWharton/Android-DirectionalViewPager
Demo地址:https://market.android.com/details?id=com.directionalviewpager.sample -
android-pulltorefresh
支持下拉刷新的ViewPager
项目地址:https://github.com/chrisbanes/Android-PullToRefresh
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
APP演示样例:新浪微博各个页面 -
FancyCoverFlow
支持Item切换动画效果的类似Gallery View
项目地址:https://github.com/davidschreiber/FancyCoverFlow
Demo地址:https://play.google.com/store/apps/details?id=at.technikum.mti.fancycoverflow.samples
效果图: -
AndroidTouchGallery
支持双击或双指缩放的Gallery(用ViewPager实现),相比以下的PhotoView,在被放大后依旧能滑到下一个item,而且支持直接从url和文件里获取图片,
项目地址:https://github.com/Dreddik/AndroidTouchGallery
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/touch-gallery-demo.apk?raw=true
APP演示样例:类似微信中查看聊天记录图片时可双击放大。而且放大情况下能正常左右滑动到前后图片 -
Android Auto Scroll ViewPager
Android自己主动滚动 轮播循环的ViewPager
项目地址:https://github.com/Trinea/android-auto-scroll-view-pager
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:http://www.trinea.cn/android/auto-scroll-view-pager/ -
Salvage view
带View缓存的Viewpager PagerAdapter。非常方便使用
项目地址:https://github.com/JakeWharton/salvage -
Android PagerSlidingTabStrip
配合ViewPager使用的Indicator,支持ViewPager Scroll时Indicator联动
项目地址:https://github.com/astuetz/PagerSlidingTabStrip
Demo地址:https://play.google.com/store/apps/details? -
ViewPager3D
ViewPager3D效果
项目地址:https://github.com/inovex/ViewPager3D -
AnimaTabsview
仿网易云音乐标签切换的动画,带透明小三角
项目地址:https://github.com/wuyexiong/transparent-over-animtabsview
在线演示:http://v.youku.com/v_show/id_XNzA4MjY5NjA0.html -
LoopingViewPager
无限循环的ViewPager
项目地址:https://github.com/imbryk/LoopingViewPager -
android_page_curl
翻书卷曲效果
项目地址:https://github.com/harism/android_page_curl
在线演示:https://www.youtube.com/watch?v=iwu7P5PCpsw
APP演示样例:iReader -
ViewPagerIndicator
简化并实现android的TabHost效果,顶部滑动tab,引导页,支持自己定义tab样式,自己定义滑动块样式和位置,自己定义切换tab的过渡动画,子界面的预载入和界面缓存,设置界面是否可滑动
项目地址:https://github.com/LuckyJayce/ViewPagerIndicator
五、GridView
-
StaggeredGridView
同意非对齐行的GridView。类似Pinterest的瀑布流。而且跟ListView一样自带View缓存,继承自ViewGroup
项目地址:https://github.com/maurycyw/StaggeredGridView
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/staggered-gridview-demo.apk?raw=true
APP演示样例:Pinterest等 -
AndroidStaggeredGrid
同意非对齐行的GridView,类似Pinterest的瀑布流。继承自AbsListView
项目地址:https://github.com/etsy/AndroidStaggeredGrid
APP演示样例:Pinterest等 -
PinterestLikeAdapterView
同意非对齐行的GridView。类似Pinterest的瀑布流,同意下拉刷新
项目地址:https://github.com/GDG-Korea/PinterestLikeAdapterView
APP演示样例:Pinterest等 -
DraggableGridView
Item可拖动交换位置的GridView,实际是自己继承ViewGroup实现,类似桌面的单屏效果,可屏幕自己主动上下滚动进行Item移动交换,多屏效果见以下PagedDragDropGrid
项目地址:https://github.com/thquinn/DraggableGridView
Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true -
StickyGridHeaders
GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的GridView
项目地址:https://github.com/TonicArtos/StickyGridHeaders
效果图: -
PagedDragDropGrid
Item可拖动交换位置、拖动删除的自己定义控件。实际是自己继承ViewGroup实现,类似桌面的多屏效果,可拖动到屏幕边缘,屏幕自己主动左右滚动进行Item移动交换,可拖动进行删除,单屏效果见上面DraggableGridView
项目地址:https://github.com/mrKlar/PagedDragDropGrid
在线演示:http://youtu.be/FYTSRfthSuQ -
Android-DraggableGridViewPager
Item可拖动交换位置的GridView。实际是自己继承ViewGroup实现,类似桌面的多屏效果,可屏幕自己主动左右滚动进行Item移动交换,单屏效果见上面DraggableGridView
项目地址:https://github.com/zzhouj/Android-DraggableGridViewPager
Demo地址:https://github.com/Trinea/trinea-download/blob/master/draggable-grid-viewpager-demo.apk?raw=true -
TwoWayGridView
可横向滚动的GridView
项目地址:https://github.com/jess-anders/two-way-gridview -
PagingGridView
分页载入的GridView。当滑动到GridView底部最后一个行时,显示一个进度行。然后载入下一页数据,并显示。
项目地址:https://github.com/nicolasjafelle/PagingGridView -
AsymmetricGridView
一个支持跨行和跨列可变Item大小的GridView
项目地址:https://github.com/felipecsl/AsymmetricGridView
Demo地址:https://play.google.com/store/apps/details? -
GridView with Header and Footer
和ListView
一样带头部和底部的GridView
,使用方法和ListView
一样
项目地址:https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter
效果图:
六、ImageView
-
PhotoView
支持双击或双指缩放的ImageView,在ViewPager等Scrolling view中正常使用,相比上面的AndroidTouchGallery,不仅支持ViewPager,同一时候支持单个ImageView
项目地址:https://github.com/chrisbanes/PhotoView
Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sample
APP演示样例:photup -
android-gif-drawable
支持gif显示的view,用jni实现的。编译生成so库后直接xml定义view就可以。并且本身不依赖于其它开源项目所以相对以下的ImageViewEx简单的多
项目地址:https://github.com/koral--/android-gif-drawable -
ImageViewEx
支持Gif显示的ImageView
项目地址:https://github.com/frapontillo/ImageViewEx
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/imageviewex-demo.apk?raw=true
依赖非常多,编译过程非常繁琐!|_|! -
RoundedImageView
带圆角的ImageView
项目地址:https://github.com/vinc3m1/RoundedImageView
效果图: -
ColorArt
依据图片的均色设置背景色显示文字和图片,类似itune11中效果
项目地址:https://github.com/MichaelEvans/ColorArt
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/color-art-demo.apk? -
CircleImageView
圆形的ImageView
项目地址:https://github.com/hdodenhof/CircleImageView
效果图: -
ImageViewZoom
支持放大和平移的ImageView
项目地址:https://github.com/sephiroth74/ImageViewZoom
APP演示样例:https://play.google.com/store/apps/details?id=com.aviary.android.feather -
KenBurnsView
实现Ken Burns effect效果,达到身临其境效果的ImageView
项目地址:https://github.com/flavioarfaria/KenBurnsView -
CustomShapeImageView
各种形状的ImageView, 相比上面的圆形ImageView。多了很多其它形状
项目地址:https://github.com/MostafaGazar/CustomShapeImageView
效果图: -
Shape Image View
能够自己定义各种形状的ImageView, 而且支持边框
项目地址:https://github.com/siyamed/android-shape-imageview
效果图:
七、ProgressBar
-
SmoothProgressBar
水平进度条
项目地址:https://github.com/castorflex/SmoothProgressBar
Demo地址:https://play.google.com/store/apps/details? -
ProgressWheel
支持进度显示的圆形ProgressBar
项目地址:https://github.com/Todd-Davies/ProgressWheel
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/progress-wheel-demo.apk? -
android-square-progressbar
在图片周围显示运行进度
项目地址:https://github.com/mrwonderman/android-square-progressbar
Demo地址:https://play.google.com/store/apps/details?id=net.yscs.android.square_progressbar_example
APP演示样例:square
效果图: -
HoloCircularProgressBar
Android4.1 时钟App样式
项目地址:https://github.com/passsy/android-HoloCircularProgressBar
APP演示样例:Android4.1时钟App
效果图: -
ProgressButton
通过图钉的不同状态显示运行进度
项目地址:https://github.com/f2prateek/progressbutton
文档介绍:http://f2prateek.com/progressbutton/
效果图: -
GoogleProgressBar
类似google 多个圆形卡片翻转的progressBar
项目地址:https://github.com/jpardogo/GoogleProgressBar
效果图: -
TH-ProgressButton
带圆形进度显示的button
项目地址。https://github.com/torryharris/TH-ProgressButton
效果图: -
NumberProgressBar
带数字进度的进度条
项目地址:https://github.com/daimajia/NumberProgressBar
效果图: -
CircularProgressDrawable
带圆形进度显示的进度条
项目地址:https://github.com/Sefford/CircularProgressDrawable
效果图: -
circular-progress-button
带进度显示的Button
项目地址:https://github.com/dmytrodanylyk/circular-progress-button
效果图:
八、TextView
包含TextView及全部继承自TextView控件。如EditText、Button、RadioButton
-
android-flowtextview
文字自己主动围绕其它View的Layout
项目地址:https://code.google.com/p/android-flowtextview/
效果图:http://i949.photobucket.com/albums/ad332/vostroman1500/1.png -
Android Form EditText
验证输入合法性的编辑框,支持输入、英文、ip、url等多种正则验证
项目地址:https://github.com/vekexasia/android-edittext-validator
Demo地址:https://play.google.com/store/apps/details? -
Emojicon
支持emojis的TextView和EditText
项目地址:https://github.com/rockerhieu/emojicon
文档地址:http://rockerhieu.com/emojicon/ -
android-circlebutton
Android圆形button,实际实现是继承自ImageView
项目地址:https://github.com/markushi/android-circlebutton
Demo地址:https://github.com/markushi/android-circlebutton/blob/master/example/example.apk -
Segmented Radio Buttons for Android
iOS’s segmented controls的实现
项目地址:https://github.com/vinc3m1/android-segmentedradiobutton
Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true
效果图: -
Chips EditText Library
支持国家名字联想从而选择显示该国国旗的EditText,实际就是通过SpannableStringBuilder实现
项目地址:https://github.com/kpbird/chips-edittext-library
Demo地址:https://github.com/kpbird/chips-edittext-library/tree/master/ChipsEditTextDemo/bin -
AutoFitTextView
可固定边界内容字体大小自适应的TextView
项目地址:https://github.com/grantland/android-autofittextview -
Shimmer for Android
文字发淡光的TextView
项目地址:https://github.com/RomainPiel/Shimmer-android -
Titanic
能够显示水位上升下降(不知道该怎么描写叙述 囧)的TextView
项目地址:https://github.com/RomainPiel/Titanic
效果图: -
android-iconify
提供带Icon的TextView,Menu,Button等
项目地址:https://github.com/JoanZapata/android-iconify -
Calligraphy
让我们在android开发中使用自己定义字体变得更加简单
项目地址 :https://github.com/chrisjenx/Calligraphy
效果图: -
CreditsRoll
类似星球大战字幕效果的TextView
项目地址:https://github.com/frakbot/CreditsRoll -
android-process-buton
带载入或提交进度的Button
项目地址:https://github.com/dmytrodanylyk/android-process-buton -
FButton
扁平化的Button
项目地址:https://github.com/hoang8f/android-flat-button
Demo地址:https://play.google.com/store/apps/details?id=info.hoang8f.fbutton.demo -
FloatingActionButton
一个类似Android版Google+浮动功能button的控件,能够响应ListView的滚动事件。当列表向上滚动的时候会自己主动显示。向下滚动的时候自己主动隐藏。
项目地址:https://github.com/makovkastar/FloatingActionButton
Demo地址:https://github.com/makovkastar/FloatingActionButton/tree/master/
效果图: -
Android Saripaar
Android表单验证
项目地址:https://github.com/ragunathjawahar/android-saripaar/ -
JumpingBeans
文字像 Mexican beans 一样跳动
项目地址:https://github.com/frakbot/JumpingBeans
Demo地址:http://play.google.com/store/apps/details?id=net.frakbot.jumpingbeans.demo
效果图: -
FancyButtons
一个不用图片就能够帮助我们创建出美丽button的库。
项目地址:https://github.com/medyo/fancybuttons
Demo地址:https://github.com/medyo/fancybuttons/tree/master/samples
效果图: -
Android-RobotoTextView 一个实现了全部Roboto字体的TextView,包含新出的Roboto Slab字体。
项目地址:https://github.com/johnkil/Android-RobotoTextView
Demo地址:http://play.google.com/store/apps/details?id=com.devspark.robototextview
Demo项目:https://github.com/johnkil/Android-RobotoTextView/tree/master/robototextview-sample
效果图:
-
Android-WizardPager
一个表单向导库
项目地址:https://github.com/romannurik/android-wizardpager
Demo项目:https://github.com/str4d/android-wizardpager/tree/textfield
效果图: -
RippleView
一个实现了 Android L上才引入的点击button后出现水波纹效果的button
项目地址:https://github.com/siriscac/RippleView
Demo项目:https://github.com/siriscac/RippleView/tree/master/RippleViewExample
效果图: -
Android Floating Label Widgets
包括一系列控件。这些控件特点是:有默认值,当值不为空时默认值浮动到上面变为提示
项目地址:https://github.com/marvinlabs/android-floatinglabel-widgets
Demo地址:https://play.google.com/store/apps/details?id=com.marvinlabs.widget.floatinglabel.demo
在线演示:http://www.youtube.com/watch?v=hpZD9gJcRg0&feature=youtu.be -
MaterialEditText
EditText 的 Material Design 实现。包括 Google Material Design Spec中的UI效果和一些新增特性。 -
MultiActionTextView
能够分别给TextView中的某几个字设置点击事件的TextView。
九、ScrollView
-
Discrollview
支持滚动时Item淡入淡出,平移,缩放效果的ScrollView
项目地址:https://github.com/flavienlaurent/discrollview
Demo地址:https://github.com/flavienlaurent/discrollview/raw/master/sample.apk -
PullScrollView
仿照新浪微博Androidclient个人中心的ScrollView。下拉背景伸缩回弹效果。
项目地址:https://github.com/MarkMjw/PullScrollView
效果图: -
ParallaxScrollView
支持视差滚动的ScrollView ,背景图片的滚动速度小于ScrollView中子控件的滚动速度
项目地址:https://github.com/chrisjenx/ParallaxScrollView
Demo地址:http://cloud.github.com/downloads/chrisjenx/ParallaxScrollView/ParallaxScrollViewDemo-v1.0.5.apk -
AKParallax-Android
支持视差滚动的ScrollView
项目地址:https://github.com/ideaismobile/AKParallax-Android
Demo地址:https://play.google.com/store/apps/details?id=com.appkraft.parallax_sample
十、TimeView
包含TimePicker、DatePicker、CalendarView、Clock等时间相关控件
-
android-times-square
Android日历时间部件,支持选取单个日期。多个日期,及日期区间段和对话框形式显示
项目地址:https://github.com/square/android-times-square
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/times-square-demo.apk? -
android-calendar-card
日历
项目地址:https://github.com/kenumir/android-calendar-card
Demo地址:https://play.google.com/store/apps/details?id=com.wt.calendarcardsample
效果图: -
AndroidWheel
Android Wheel支持城市、多种日期时间、password、图片
项目地址:https://code.google.com/p/android-wheel/
效果图: -
GoogleDateTimePickers
时间选择部件
项目地址:https://github.com/Mirkoddd/GoogleDateTimePickers
文档地址:https://play.google.com/store/apps/details? -
DateTimePicker
日期选择部件(Google Agenda的样式风格)
项目地址:https://github.com/flavienlaurent/datetimepicker
Demo地址:https://raw.github.com/biboune/datetimepicker/master/datetimepicker-sample.apk
效果图: -
android-betterpickers
提供日期、数字、时间(数字方式和钟表方式)、反复周期(闹钟的周期反复)、HMS(时、分、秒)的选择,支持以DialogFragment的弹窗选择
项目地址:https://github.com/derekbrameyer/android-betterpickers
Demo地址:https://play.google.com/store/apps/details?id=com.doomonafireball.betterpickers.sample 效果图: -
Android Week View
日期控件。支持周,天视图。支持自己定义样式
项目地址:https://github.com/alamkanak/Android-Week-View
效果图:
十一、TipView
包含Toast、角标、UndoBar等提示性控件
-
Crouton
丰富样式的Toast。同意alert、comfirm、info样式及点击消失样式,同意设置Toast显示时间。同意自己定义View。本文32. SuperToasts为其扩展版
项目地址:https://github.com/keyboardsurfer/Crouton
Demo地址:http://play.google.com/store/apps/details? -
supertooltips
带动画效果的Tips显示
项目地址:https://github.com/nhaarman/supertooltips
Demo地址:https://play.google.com/store/apps/details?id=com.haarman.supertooltips -
Android ViewBadger
为其它View加入角标等
项目地址:https://github.com/jgilfelt/android-viewbadger
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/android-viewbadger.apk?raw=true
效果图: -
SuperToasts
更丰富样式的toast,支持Button、Progress、Horizontal Progress样式、支持进入动画、支持撤销及其动画设置
项目地址:https://github.com/JohnPersano/SuperToasts
Demo地址:https://play.google.com/store/apps/details?id=com.supertoastsdemo
效果图: -
UndoBar
屏幕底部显示取消或是确认的PopupWindows
项目地址:https://github.com/soarcn/UndoBar
效果图: -
UndoBar
屏幕底部显示取消或是确认某操作
项目地址:https://github.com/jenzz/Android-UndoBar
效果图: -
Android-ActionItemBadge
能够在ActionBar的MenuItem上显示一个小角标
项目地址:https://github.com/mikepenz/Android-ActionItemBadge
效果图:
十二、FlipView
-
android-flip
类似Flipboard翻转动画的实现
项目地址:https://github.com/openaphid/android-flip
Demo地址:https://github.com/openaphid/android-flip/blob/master/FlipView/Demo/APK/Aphid-FlipView-Demo.apk?raw=true
APP演示样例:flipboard -
FlipImageView
支持x、y、z及动画选择的翻转动画的实现
项目地址:https://github.com/castorflex/FlipImageView
Demo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.flipimageview -
FoldableLayout
Flip翻转效果的ListView,眼下还不支持ListView缓存
项目地址:https://github.com/alexvasilkov/FoldableLayout
Demo地址:http://play.google.com/store/apps/details?id=com.alexvasilkov.foldablelayout.sample
十三、ColorPickView
-
ColorPickerView
颜色选择器,支持PopupWindows或新的Activity中打开
项目地址:https://code.google.com/p/color-picker-view/
效果图: -
HoloColorPicker
颜色选择器
项目地址:https://github.com/LarsWerkman/HoloColorPicker
Demo地址:https://docs.google.com/file/d/0BwclyDTlLrdXRzVnTGJvTlRfU2s/edit -
ColorPickerPreference
颜色选择器
项目地址:https://github.com/attenzione/android-ColorPickerPreference
效果图: -
ColorPicker
颜色选择器(Google Agenda中的样式风格)
项目地址:https://github.com/flavienlaurent/colorpicker
Demo地址:https://raw.github.com/biboune/colorpicker/master/colorpicker-sample.apk 效果图:
十四、GraphView
-
MPAndroidChart
强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、网状图及各种图的结合;支持图的拖拽缩放;支持 Android 2.2 以上。支持横纵轴缩放,多指缩放。展现动画、高亮、保存到 sdcard、从文件读取图表
项目地址:https://github.com/PhilJay/MPAndroidChart
Demo地址:https://play.google.com/store/apps/details?id=com.xxmassdeveloper.mpchartexample
Demo项目:https://github.com/PhilJay/MPAndroidChart/tree/master/MPChartExample
在线演示:https://www.youtube.com/watch?v=ufaK_Hd6BpI
效果图:
-
achartengine
强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合
项目地址:https://code.google.com/p/achartengine/
官方站点:http://www.achartengine.org/
效果图:
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
APP演示样例:Wordpress Android。Google Analytics -
GraphView
绘制图表和曲线图的View。可用于Android上的曲形图、柱状图、波浪图展示
项目地址:https://github.com/jjoe64/GraphView
Demo项目:https://github.com/jjoe64/GraphView-Demos
APP演示样例:Wordpress Android,Google Analytics -
HoloGraphLibrary
绘制现状图、柱状图、饼状图
项目地址:https://bitbucket.org/danielnadeau/holographlibrary/src
文档介绍:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home -
XCL-Charts
XCL-Charts基于原生的Canvas来绘制各种图表,在设计时,尽量在保证开发效率的同一时候,给使用者提供足够多的定制化能力。因此使用简便,同一时候具有相当灵活的定制能力。眼下支持3D/非3D柱形图(Bar Chart)、3D/非3D饼图(Pie Chart)、堆积图(Stacked Bar Chart)、面积图(Area Chart)、 折线图(Line Chart)、曲线图(Spline Chart)、环形图(Dount Chart)、南丁格尔玫瑰图(Rose Chart)、仪表盘(Dial Chart)、刻度盘(Gauge Chart)、雷达图(Radar Chart)、圆形图(Circle Chart)等图表。
其他特性还包含支持图表缩放、手势移动、动画显示效果、高密度柱形显示、图表分界定制线、多图表的混合显示及同数据源不同类型图表切换等。
项目地址:https://github.com/xcltapestry/XCL-Charts
Demo地址:https://github.com/xcltapestry/XCL-Charts/blob/master/XCL-Charts-demo/bin/XCL-Charts-demo.apk?raw=true -
EazeGraph
Android 图表库。支持柱状图、分层柱状图、饼状图、线性图
项目地址:https://github.com/blackfizz/EazeGraph
Demo地址:https://play.google.com/store/apps/details?id=org.eazegraph.app -
WilliamChart
绘制图表的库,支持LineChartView、BarChartView和StackBarChartView三中图表类型,而且支持 Android 2.2及以上的系统。
项目地址:https://github.com/diogobernardino/WilliamChart
Demo项目:https://github.com/diogobernardino/WilliamChart/tree/master/sample
Demo地址:https://play.google.com/store/apps/details?id=com.db.williamchartdemo
效果图: -
HelloCharts for Android
支持折线图、柱状图、饼图、气泡图、组合图;支持预览、放大缩小,滚动,部分图表支持动画;支持 Android 2.2 以上
项目地址:https://github.com/lecho/hellocharts-android
Demo地址:https://play.google.com/store/apps/details?id=lecho.lib.hellocharts.samples
在线演示:https://www.youtube.com/watch?v=xbSBjyjH2SY
十五、UI Style
不相同式的系统UI风格,如IOS、Bootstrap风格
-
UITableView
ios风格控件。包含Button、ListView、TableView
项目地址:https://github.com/thiagolocatelli/android-uitableview
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/ui-tableview-demo.apk? -
ATableView
ios风格控件
项目地址:https://github.com/dmacosta/ATableView
Demo地址:https://play.google.com/store/apps/details? -
Cards-UI
卡片式View,支持单个卡片。item为卡片的ListView
项目地址:https://github.com/afollestad/Cards-UI
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/cards-ui-demo.apk?raw=true -
cardslib
卡片式View,支持单个卡片,item为卡片的ListView和GridView
项目地址:https://github.com/gabrielemariotti/cardslib
Demo地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demo -
Android-Bootstrap
Bootstrap 风格的button
项目地址:https://github.com/Bearded-Hen/Android-Bootstrap
效果图: -
Material Design Android Library
Android L 中 Material Design 风格的组件适配到 Android 2.2+
项目地址:https://github.com/navasmdc/MaterialDesignLibrary -
Android FlatUI
Android 扁平化风格的组件,支持一些自己定义样式
项目地址:https://github.com/eluleci/FlatUI
效果图:
十六、其它
-
SwipeBackLayout
左右或向上滑动返回的Activity
项目地址:https://github.com/Issacw0ng/SwipeBackLayout
Demo地址:https://play.google.com/store/apps/details?id=me.imid.swipebacklayout.demo
APP演示样例:知乎 -
android-styled-dialogs
可自己定义样式的dialog。默认与Holo主题样式一致,在Android2.2以上同一样式
项目地址:https://github.com/inmite/android-styled-dialogs
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/styled-dialogs-demo.apk?raw=true -
Android Sliding Up Panel
可拖动的View。能在当前Activity上扶起一个可拖动的Panel
项目地址:https://github.com/umano/AndroidSlidingUpPanel
Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
APP演示样例:Google Music精简播放栏 -
AndroidWheel
Android Wheel支持城市、多种日期时间、password、图片
项目地址:https://code.google.com/p/android-wheel/
效果图: -
TableFixHeaders
第一列固定的Table
项目地址:https://github.com/InQBarna/TableFixHeaders
Demo地址:http://bit.ly/13buAIq -
Inscription
可用于展示应用change和new feature信息
项目地址:https://github.com/MartinvanZ/Inscription -
ActivityTransition
Activity切换动画,包含渐变、flip、某个位置进入等等
项目地址:https://github.com/ophilbert/ActivityTransition
使用介绍:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
效果图:类似桌面左右切换的各种效果。只是桌面并不是用ViewPager实现而已 -
EasyAndroidAnimations
针对View的各种动画
项目地址:https://github.com/2359media/EasyAndroidAnimations -
GlowPadBackport
将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+
项目地址:https://github.com/rock3r/GlowPadBackport
Demo地址:https://play.google.com/store/apps/details? -
GlowPadView
Android4锁屏界面解锁
项目地址:https://github.com/nadavfima/GlowPadView
效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.png -
android-lockpattern
Android的图案password解锁
项目地址:https://code.google.com/p/android-lockpattern/
Demo地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo
使用介绍:https://code.google.com/p/android-lockpattern/wiki/QuickUse
APP演示样例:Android开机的图案password解锁,支付宝的password解锁 -
RangeBar
类似于SeekBar,不同的是能够选择一个范围内的值而不是单个值
项目地址:https://github.com/edmodo/range-bar
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/range-bar-demo.apk?raw=true
效果图: -
ChromeView
利用Chromium实现的WebView。解决各个Android版本号WebView不同的问题。同一时候利用最新Chrome代码
项目地址:https://github.com/pwnall/chromeview -
android-phased-seek-bar
支持预先定义状态的SeekBar
项目地址:https://github.com/ademar111190/android-phased-seek-bar
效果图: -
Android Slider Preference Library
可加入到设置中的基于对话框的RankBar小部件
项目地址:https://github.com/jayschwa/AndroidSliderPreference -
ShowcaseView library
用于高亮显示应用程序的特定部分,从而突出突出重点
项目地址:https://github.com/amlcurran/ShowcaseView -
android-segmented-control
Android上的Segmented Controls,相当于RadioButton组
项目地址:https://github.com/hoang8f/android-segmented-control -
Swipeable Cards
类似Tinder的卡片效果。能够载入图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢
项目地址:https://github.com/kikoso/Swipeable-Cards
Demo地址:https://play.google.com/store/apps/details? -
EdgeEffectOverride
改变ScrollView, ListView, ExpandableListView, GridView, ViewPager等滚动控件滚动到边缘的颜色效果
项目地址:https://github.com/AndroidAlliance/EdgeEffectOverride -
android-pinned-header-listviews
使ExpandListView的Group滑动到顶端时会固定不动直到另外一个Group到达顶端
项目地址:https://github.com/rtyley/android-pinned-header-listviews -
AndroidSwipeLayout
滑动Layout,支持单个View,ListView,GridView
项目地址:https://github.com/daimajia/AndroidSwipeLayout
Demo地址:Download Demo
效果图: -
DynamicCardLayout
在Android中实现的类似Windows8的瓷片布局
项目地址:https://github.com/dodola/DynamicCardLayout
效果图: -
Emoticons-Keyboard
带表情情符号的自己定义键盘
项目地址:https://github.com/chiragjain/Emoticons-Keyboard
效果图: -
Android Typeface Helper
能够帮你轻松实现自己定义字体的库
项目地址:https://github.com/norbsoft/android-typeface-helper
效果图: -
Android-Anim-Playground
几个动画效果,当中第二个基于android-svg的绘制效果很好
项目地址:https://github.com/Tibolte/Android-Anim-Playground
效果图: -
NiftyDialogEffects
支持自己定义飞入动画样式的 Dialog
项目地址:https://github.com/sd6352051/NiftyDialogEffects
效果图:
在线演示:http://tympanus.net/Development/ModalWindowEffects/ -
PostOffice
创建 Holo 及 Material Design 样式的 Dialog
项目地址:https://github.com/r0adkll/PostOffice
效果图: -
Swipecards
类似Tinder的卡片效果,能够载入图片并动画效果展示,向左滑动表示喜欢,向右表示不喜欢,依据 Kikoso's Swipeable-Cards 改造而来
项目地址:https://github.com/Diolor/Swipecards -
SeekArc
圆形的 SeekBar
项目地址:https://github.com/TriggerTrap/SeekArc
效果图: -
BlurDialogFragment
显示 DialogFragment 时背景模糊效果
项目地址:https://github.com/tvbarthel/BlurDialogFragment
Demo地址:https://play.google.com/store/apps/details?
第二部分 工具库
主要包含那些不错的开发库,包含依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、Android 高版本号向低版本号兼容、多媒体相关及其它。
一、依赖注入DI
通过依赖注入降低View、服务、资源简化初始化。事件绑定等反复繁琐工作
-
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) RESTclient:定义client接口。自己主动生成REST请求的实现
(5) 没有你想象的复杂:AndroidAnnotations仅仅是在在编译时生成对应子类
(6) 不影响应用性能:仅50kb,在编译时完毕,不会对执行时有性能影响。
PS:与roboguice的比較:roboguice通过执行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响 -
roboguice
帮你处理了非常多代码异常,利用annotation使得更少的代码完毕项目
项目地址:https://github.com/roboguice/roboguice
文档介绍:https://github.com/roboguice/roboguice/wiki -
butterknife
利用annotation帮你高速完毕View的初始化,降低代码
项目地址:https://github.com/JakeWharton/butterknife
文档介绍:http://jakewharton.github.io/butterknife/ -
Dagger
依赖注入,适用于Android和Java
项目地址:https://github.com/square/dagger
文档介绍:http://square.github.io/dagger/
二、图片缓存
-
Android-Universal-Image-Loader
图片缓存,眼下使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。
项目地址:https://github.com/nostra13/Android-Universal-Image-Loader
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true
文档介绍:http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html -
picasso
square开源的图片缓存
项目地址:https://github.com/square/picasso
文档介绍:http://square.github.io/picasso/
特点:(1)能够自己主动检測adapter的重用并取消之前的下载
(2)图片变换
(3)能够载入本地资源
(4)能够设置占位资源
(5)支持debug模式 -
ImageCache
图片缓存,包括内存和Sdcard缓存
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:http://www.trinea.cn/android/android-imagecache/
特点:(1)支持预取新图片。支持等待队列
(2)包括二级缓存,可自己定义文件名称保存规则
(3)可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自己定义缓存算法
(4)可方便的保存及初始化恢复数据
(5)支持不同类型网络处理
(6)可依据系统配置初始化缓存等 -
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/
效果图:
三、网络相关
-
Asynchronous Http Client for Android
Android异步Http请求
项目地址:https://github.com/loopj/android-async-http
文档介绍:http://loopj.com/android-async-http/
特点:(1) 在匿名回调中处理请求结果
(2) 在UI线程外进行http请求
(3) 文件断点上传
(4) 智能重试
(5) 默认gzip压缩
(6) 支持解析成Json格式
(7) 可将Cookies持久化到SharedPreferences -
android-query
异步载入,更少代码完毕Android载入
项目地址:https://github.com/androidquery/androidquery 或 https://code.google.com/p/android-query/
文档介绍:https://code.google.com/p/android-query/#Why_AQuery?
Demo地址:https://play.google.com/store/apps/details?id=com.androidquery
特点:https://code.google.com/p/android-query/#Why_AQuery? -
Async Http Client
Java异步Http请求
项目地址:https://github.com/AsyncHttpClient/async-http-client
文档介绍:http://sonatype.github.io/async-http-client/ -
Ion
支持图片、json、http post等异步请求
项目地址:https://github.com/koush/ion
文档介绍:https://github.com/koush/ion#more-examples -
HttpCache
Http缓存
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:http://www.trinea.cn/android/android-http-cache
特点是:(1) 依据cache-control、expires缓存http请求
(2) 支持同步、异步Http请求
(3) 在匿名回调中处理请求结果
(4) 在UI线程外进行http请求
(5) 默认gzip压缩 -
Http Request
项目地址:https://github.com/kevinsawicki/http-request
文档介绍:https://github.com/kevinsawicki/http-request#examples -
okhttp
square开源的http工具类
项目地址:https://github.com/square/okhttp
文档介绍:http://square.github.io/okhttp/
特点:(1) 支持SPDY( http://zh.wikipedia.org/wiki/SPDY )协议。SPDY协议是Google开发的基于传输控制协议的应用层协议。通过压缩,多路复用(一个TCP链接传送网页和图片等资源)和优先级来缩短载入时间。
(2) 假设SPDY不可用,利用连接池降低请求延迟
(3) Gzip压缩
(4) Response缓存降低不必要的请求 -
Retrofit
RESTFUL API设计
项目地址:https://github.com/square/retrofit
文档介绍:http://square.github.io/retrofit/ -
RoboSpice
Android异步网络请求工具,支持缓存、REST等等
项目地址:https://github.com/stephanenicolas/robospice
Demo地址:https://github.com/stephanenicolas/RoboDemo/downloads
四、数据库 orm工具包
orm的db工具类,简化建表、查询、更新、插入、事务、索引的操作
-
greenDAO
Android Sqlite orm的db工具类
项目地址:https://github.com/greenrobot/greenDAO
文档介绍:http://greendao-orm.com/documentation/
官方站点:http://greendao-orm.com/
特点:(1) 性能佳
(2) 简单易用的API
(3) 内存小好小
(4) 库大小小 -
ActiveAndroid
Android Sqlite orm的db工具类
项目地址:https://github.com/pardom/ActiveAndroid
文档介绍:https://github.com/pardom/ActiveAndroid/wiki/_pages -
Sprinkles
Android Sqlite orm的db工具类
项目地址:https://github.com/emilsjolander/sprinkles
文档介绍:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/
特点:比較显著的特点就是配合https://github.com/square/retrofit 能保存从server获取的数据 -
Realm
移动端的数据库,适用于 Phone、Tablet、Wearable。支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好
项目地址:https://github.com/realm/realm-java
文档介绍:http://realm.io/docs/java/0.72.0/ -
ormlite-android
项目地址:https://github.com/j256/ormlite-android
文档介绍:http://ormlite.com/sqlite_java_android_orm.shtml -
Schematic
依据SQLite生成ContentProvider
项目地址:https://github.com/SimonVT/schematic
五、Android公共库
-
Guava
Google的基于java1.6的类库集合的扩展项目,包含collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API能够使你的JAVa代码更加优雅。更加简洁
项目地址:https://code.google.com/p/guava-libraries/
文档介绍:https://code.google.com/p/guava-libraries/wiki/GuavaExplained -
Volley
Google提供的网络通信库。使得网络请求更简单、更高速
项目地址:https://android.googlesource.com/platform/frameworks/volley
Github地址:https://github.com/mcxiaoke/android-volley
文档地址:http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdf -
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/
包含:(1)缓存(图片缓存、预取缓存、网络缓存)
(2) 公共View(下拉及底部载入很多其它ListView、底部载入很多其它ScrollView、滑动一页Gallery)
(3) Android经常使用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等) -
shipfaster
整合了Dagger Otto Retrofit Robolectric Picasso OkHttp,方便高速开发
项目地址:https://github.com/pyricau/shipfaster -
CleanAndroidCode
整合了Dagger Otto AndroidAnnotations。方便高速开发
项目地址:https://github.com/pyricau/CleanAndroidCode -
xUtils
基于Afinal,包括DbUtils、ViewUtils、HttpUtils、BitmapUtils四大模块。可用于高速开发
项目地址:https://github.com/wyouflf/xUtils -
Afinal
Afinal是一个android的ioc,orm框架。内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity。我们能够通过注解的方式进行绑定ui和事件。通过finalBitmap。我们能够方便的载入bitmap图片,而无需考虑oom等问题。通过finalDB模块。我们一行代码就能够对android的sqlite数据库进行增删改查。通过FinalHttp模块。我们能够以ajax形式请求http数据
项目地址:https://github.com/yangfuhai/afinal
官方站点:http://www.afinal.org -
UltimateAndroid
UltimateAndroid是一个高速开发Android应用的框架。框架眼下主要包括的功能有View Injection,ORM,异步网络请求和图片载入。自己主动化脚本測试,磁盘LRU等功能.同一时候提供了类似于TripleDes、Webview高速设置、Md5处理、String处理,Https处理等经常使用工具类,还有超过100多种UI控件效果。
项目地址:https://github.com/cymcsg/UltimateAndroid
官方站点:http://blog.marshalchen.com/UltimateAndroid/
六、Android 高版本号向低版本号兼容
-
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都在用 -
Nine Old Androids
将Android 3.0(Honeycomb)全部动画API(ObjectAnimator ValueAnimator等)兼容到Android1.0
项目地址:https://github.com/JakeWharton/NineOldAndroids
Demo地址:https://play.google.com/store/apps/details?id=com.jakewharton.nineoldandroids.sample
文档介绍:http://nineoldandroids.com/ -
HoloEverywhere
将Android 3.0的Holo主题兼容到Android2.1++
项目地址:https://github.com/Prototik/HoloEverywhere
Demo地址:https://raw.github.com/Prototik/HoloEverywhere/repo/org/holoeverywhere/demo/2.1.0/demo-2.1.0.apk
文档介绍:http://android-developers.blogspot.com/2012/01/holo-everywhere.html -
SherlockNavigationDrawer
将Android NavigationDrawer和ActionbarSherlock结合,解决4.0下面NavigationDrawer的适配问题
项目地址:https://github.com/tobykurien/SherlockNavigationDrawer
文档地址:http://developer.android.com/training/implementing-navigation/nav-drawer.html -
Notifications4EveryWhere
将Android 4.1的Notification兼容到Android2.2++
项目地址:https://github.com/youxiachai/Notifications4EveryWhere -
Android Switch Widget Backport
将Android Switch和SwitchPreference的兼容到Android2.1++
项目地址:https://github.com/BoD/android-switch-backport
Demo地址:https://play.google.com/store/apps/details?id=org.jraf.android.backport.switchwidget.sample
文档介绍:https://github.com/BoD/android-switch-backport#using-the-switch -
android-datepicker
将Android 4.0的datepicker兼容到Android2.2++
项目地址:https://github.com/SimonVT/android-datepicker -
GlowPadBackport
Android 4.2的GlowPadView向后适配到API4以上
项目地址:https://github.com/frakbot/GlowPadBackport -
Transitions Everywhere
Android 4.4 的 Transitions API 兼容到 Android 2.2 以上
项目地址:https://github.com/andkulikov/transitions-everywhere
七、多媒体相关
-
cocos2d-x
跨平台的2d游戏框架,支持Android、IOS、Linux、Windows等众多平台
项目地址:https://github.com/cocos2d/cocos2d-x
文档介绍:http://www.cocos2d-x.org/wiki
官方站点:http://www.cocos2d-x.org/ -
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)等常见的多种视频流媒体协议。包含点播与直播。 -
PhotoProcessing
利用ndk处理图片库。支持Instafix、Ansel、Testino、XPro、Retro、BW、Sepia、Cyano、Georgia、Sahara、HDR、Rotate(旋转)、Flip(翻转)等各种特效
项目地址:https://github.com/lightbox/PhotoProcessing
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/photo-processing.apk?raw=true -
Android StackBlur
图片模糊效果工具类
项目地址:https://github.com/kikoso/android-stackblur
Demo地址:https://github.com/kikoso/android-stackblur/blob/master/StackBlurDemo/bin/StackBlurDemo.apk?raw=true
文档介绍:https://github.com/kikoso/android-stackblur#usage -
Bitmap Smart Clipping using OpenCV
图片智能裁剪保留重要部分显示
项目地址:https://github.com/beartung/tclip-android
利用淘宝的 http://code.taobao.org/p/tclip/ 库完毕
一淘玩客正在使用的图片裁剪。自己主动识别图片中的重要区域,而且在图片裁剪时保留重要区域
特点:(1). 能进行人脸识别。图片中有人脸,将自己主动视为人脸区域为重要区域,将不会被裁剪掉
(2).自己主动其他重要区域。假设图片中未识别出人脸,则会依据特征分布计算出重区域 -
Cropper
图片局部剪切工具,可触摸控制选择区域或旋转
项目地址:https://github.com/edmodo/cropper
使用介绍:https://github.com/edmodo/cropper/wiki
效果图: -
android-crop
图片裁剪Activity
项目地址:https://github.com/jdamcd/android-crop
效果图: -
TileView
可分块显示大图。支持2D拖动、双击、双指放大、双指捏合
项目地址:https://github.com/moagrius/TileView
Demo地址:http://moagrius.github.io/TileView/TileViewDemo.apk -
BlurEffectForAndroidDesign
图片模糊效果
项目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesign -
android-eye
PC端网页查看同一局域网内的手机摄像头内容。能够用来监控哦
项目地址:https://github.com/Teaonly/android-eye
Demo地址:https://play.google.com/store/apps/details?id=teaonly.droideye -
libpng for Android
PNG图片的jni库。支持差点儿png的全部特性
项目地址:https://github.com/julienr/libpng-android
文档地址:http://www.libpng.org/pub/png/libpng.html -
android-gpuimage
基于GPU的图片滤镜
项目地址:https://github.com/CyberAgent/android-gpuimage -
AndroidFaceCropper
图片脸部自己主动识别,将识别后的局部图片返回
项目地址:https://github.com/lafosca/AndroidFaceCropper -
Android Video Crop
利用TextureView播放和剪切视频。类似ImageView.setScaleType
项目地址:https://github.com/dmytrodanylyk/android-video-crop
Demo地址:https://github.com/lafosca/AndroidFaceCropper/releases/download/1.0/FaceCropper-sample-debug-unaligned.apk -
svg-android
Android Svg矢量图形支持
项目地址:https://github.com/japgolly/svg-android https://github.com/japgolly/svg-android -
Android Visualizer
从Android MediaPlayer获得音频。然后像iTunes及WinAmp一样展示音轨
项目地址:https://github.com/felixpalmer/android-visualizer -
ExoPlayer
包含仪表板和SmoothStreaming自适应回放,缓存持久化和自己定义渲染器,方便自己定义和扩展。而且能够通过应用商店更新
项目地址:https://github.com/google/ExoPlayer -
DanmakuFlameMaster
android上开源弹幕解析绘制引擎项目
项目地址:https://github.com/ctiao/DanmakuFlameMaster
八、事件总线(订阅者模式)
通过公布/订阅事件解耦事件发送和接受。从而简化应用程序组件(Activities, Fragments及后台线程)之间的通信
-
EventBus
greenrobot的开源项目
项目地址:https://github.com/greenrobot/EventBus
文档介绍:https://github.com/greenrobot/EventBus#general-usage-and-api
特点:(1) 支持在不同类型的线程中处理订阅。包含公布所在线程,UI线程、单一后台线程、异步线程
(2) 支持事件优先级定义。支持优先级高的订阅者取消事件继续传递,支持粘性事件,是不是跟系统的有序广播、粘性广播非常像啊
(3) 不是基于annotations
(4) 性能更优
(5) 体积小
(6) 支持单例创建或创建多个对象
(7) 支持依据事件类型订阅 -
Otto
Square的开源项目,基于Guava的Android优化
项目地址:https://github.com/square/otto
文档介绍:http://square.github.io/otto/
EventBus与Otto的功能及性能对照文档
EventBus与Otto性能对照Demo Apk
九、传感器
-
Great Android Sensing Toolkit
Android感应器工具包。包括演示样例及使用过程中可能须要的算法
项目地址:https://github.com/gast-lib/gast-lib
Demo地址:https://play.google.com/store/apps/details?id=root.gast.playground
文档介绍:https://github.com/gast-lib/gast-lib#documentation -
SensorManager
Android传感器管理
项目地址:https://github.com/nlathia/SensorManager
文档介绍:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/edit -
GPSLogger
记录GPS信息
项目地址:https://github.com/mendhak/gpslogger
Demo地址:https://play.google.com/store/apps/details?id=com.mendhak.gpslogger
文档介绍:http://code.mendhak.com/gpslogger/ -
Pedometer
计步器。使用硬件计步感应器
项目地址:https://github.com/j4velin/Pedometer -
leapcast
ChromeCast模拟器的App
项目地址:https://github.com/dz0ny/leapcast -
Arduino-Communicator
与Arduino通信的App
项目地址:https://github.com/jeppsson/Arduino-Communicator -
android-pedometer
Android计步器
项目地址:https://github.com/bagilevi/android-pedometer
Demo地址:http://pedometer.googlecode.com/files/Pedometer-1.4.apk -
OwnTracks for Android
自己的轨迹记录
项目地址:https://github.com/owntracks/android -
Shake Detector library for Android
Android手机震动摇晃检測库。提供供UI线程调用的回调接口
项目地址:https://github.com/tbouron/ShakeDetector
Demo地址:https://play.google.com/store/apps/details?id=com.github.tbouron.shakedetector.example -
Android heart rate monitor
Android心跳检測
项目地址:https://github.com/phishman3579/android-heart-rate-monitor -
Bluetooth LE Library for Android
蓝牙源信息,包含宝库Mac、更新时间、RSSI、UUID、信号源距离、影响范围等信息
项目地址:https://github.com/alt236/Bluetooth-LE-Library---Android
Demo地址:https://play.google.com/store/apps/details? -
farebot
通过NFC 从公交卡中读取数据的一个应用
项目地址:https://github.com/codebutler/farebot
十、安全
-
SQLCipher
Sqlite加密工具
项目地址:https://github.com/sqlcipher/sqlcipher
帮助文档:http://sqlcipher.net/sqlcipher-for-android/ -
Conceal
高速高效的进行文件加密解密
项目地址:https://github.com/facebook/conceal
文档介绍:https://github.com/facebook/conceal#usage -
Android-PasscodeLock
应用锁。每次启动或从不论什么Activity启动应用都须要输入四位数字的password方可进入
项目地址:https://github.com/wordpress-mobile/Android-PasscodeLock
Demo地址:https://play.google.com/store/apps/details?id=org.wordpress.android
APP演示样例:Wordpress Android。支付宝,挖財 -
GlowPadBackport
将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+
项目地址:https://github.com/rock3r/GlowPadBackport
Demo地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample
效果图: -
GlowPadView
Android 4锁屏界面解锁
项目地址:https://github.com/nadavfima/GlowPadView
效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.png -
android-lockpattern
Android的图案password解锁
项目地址:https://code.google.com/p/android-lockpattern/
Demo地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo
使用介绍:https://code.google.com/p/android-lockpattern/wiki/QuickUse -
Android-InsecureBank
关于 Android 不安全性的演示样例
项目地址:https://github.com/dineshshetty/Android-InsecureBankv2
十一、插件化
很多其它见:Android 插件化作用、概念以及不错的资料(包含开源项目)和解决方式
-
dynamic-load-apk
Android 动态载入Apk,热部署。利用 ClassLoader 以及 Activity 代理的方式解决
项目地址:https://github.com/singwhatiwanna/dynamic-load-apk
文档介绍:http://blog.csdn.net/singwhatiwanna/article/details/22597587 -
Android Dynamic Loader
点评的实现方式。和上面不同的是:他不是用代理 Activity 的方式实现而是用 Fragment 以及 Schema 的方式实现
项目地址:https://github.com/mmin18/AndroidDynamicLoader
Demo地址:https://github.com/mmin18/AndroidDynamicLoader/raw/master/host.apk -
xCombine
Android App插件式插件开发,插件必须先安装,更推荐看上面两个开源项目
项目地址:https://github.com/wyouflf/xCombine
文档介绍:http://my.oschina.net/u/1171837/blog/155377 -
Android Plugin Framework
Android插件式开发,开放的源代码眼下不完整
项目地址:https://github.com/umeng/apf -
multidex
安装多 dex 的 classloader
项目地址:https://github.com/casidiablo/multidex -
ANR-WatchDog
Android ANR 监听,通过监听自己的 UI Thread 是否被运行确定是否发生了 ANR,并能够设置相关事件
项目地址:https://github.com/SalomonBrys/ANR-WatchDog
十二、文件
对不同文档类型的处理,包含PDF、Word、EPub、Html、Zip等
-
purePDF
同意从不论什么执行的SWF文件读取和创建PDF文档
项目地址:https://github.com/sephiroth74/purePDF -
android-pdfview
高速解析pdf的view。默认支持手势缩放和相关动画
项目地址:https://github.com/JoanZapata/android-pdfview -
Office 365 SDK for Android Preview
可支持Microsoft SharePoint Lists, Microsoft SharePoint Files, Microsoft Exchange Calendar, Microsoft Exchange Contacts, Microsoft Exchange Mail
项目地址:https://github.com/OfficeDev/Office-365-SDK-for-Android -
OpenSpritz-Android
EPub阅读器
项目地址:https://github.com/OnlyInAmerica/OpenSpritz-Android -
jsoup
一个解析html的java库,可方便的提取和操作数据
项目地址:https://github.com/jhy/jsoup
官方站点:http://jsoup.org/
作用:(1) 从一个url、文件或string获得html并解析
(2) 利用dom遍历或css选择器查找、提取数据
(3) 操作html元素
(4) 依据白名单去除用于提交的非法数据防止xss攻击
(5) 输出整齐的html -
ZIP
java压缩和解压库
项目地址:https://github.com/zeroturnaround/zt-zip
文档介绍:https://github.com/zeroturnaround/zt-zip#examples
作用:(1) 解压和压缩。并支持目录内递归操作
(2) 支持包括和排除某些元素
(3) 支持重命名元素
(4) 支持遍历zip包内容
(5) 比較两个zip包等功能
十三、其它
-
Salvage view
带View缓存的Viewpager PagerAdapter,非常方便使用
项目地址:https://github.com/JakeWharton/salvage -
Android Priority Job Queue
Android后台任务队列
项目地址:https://github.com/path/android-priority-jobqueue
文档介绍:https://github.com/path/android-priority-jobqueue#getting-started -
Cobub Razor
开源的mobile行为分析系统。包含web端、android端。支持ios和window phone
项目地址:https://github.com/cobub/razor
Demo地址:http://demo.cobub.com/razor
站点介绍:http://dev.cobub.com/ -
Countly
Android移动端数据採集分析系统
项目地址:https://github.com/Countly/countly-sdk-android
官网地址:https://count.ly/ -
aFileChooser
文件选择器,可内嵌到程序中,而无需使用系统或三方文件选择器。
项目地址:https://github.com/iPaulPro/aFileChooser -
androidpn
基于xmpp协议的消息推送解决方式,包含server端和android端。
项目地址:https://github.com/dannytiehui/androidpn -
Bolts
Android的异步编程模式
项目地址:https://github.com/BoltsFramework/Bolts-Android/
与AsyncTask比較:(1) 使用的是无限制大小的线程池
(2) 任务可组合可级联,防止了代码耦合 -
CastCompanionLibrary-android
使Android程序中更快的接入Google Cast
项目地址:https://github.com/googlecast/CastCompanionLibrary-android
文档介绍:https://developers.google.com/cast/ -
CastVideos-android
从Android设备分享Video通过Google Cast
项目地址:https://github.com/googlecast/CastVideos-android
文档介绍:https://developers.google.com/cast/ -
Uninstall_Statics
Android应用自身被卸载监听及打开浏览器等反馈功能实现
项目地址:https://github.com/sevenler/Uninstall_Statics
文档介绍:http://www.cnblogs.com/zealotrouge/p/3157126.html
http://www.cnblogs.com/zealotrouge/p/3159772.html -
Memento
保证在系统配置改变时。Activity中的某些数据能够简单安全的保持不变
项目地址:https://github.com/mttkay/memento
文档介绍:https://github.com/mttkay/memento#usage -
FreeFlow
布局引擎。更简单的创建自己定义布局。而且当数据和布局改变时更美观的过渡动画
项目地址:https://github.com/Comcast/FreeFlow
Demo地址:https://github.com/Comcast/FreeFlow/releases -
Android Gesture Detectors Framework
Android手势框架。支持双指旋转、移动、平移、缩放等
项目地址:https://github.com/Almeros/android-gesture-detectors -
Mapbox Android SDK
Android Map的替代版
项目地址:https://github.com/mapbox/mapbox-android-sdk -
Activity animation
Activity跳转动画,支持各个方向波浪的效果
项目地址:https://github.com/flavienlaurent/activityanimation
在线演示:https://www.youtube.com/watch? -
KryoNet
通过NIO提供client和server端TCP/UDP网络传输的Java库
项目地址:https://github.com/EsotericSoftware/kryonet -
Rebound
一个模仿弹簧反弹的Java库。可用于创建动画
项目地址:https://github.com/facebook/rebound -
Android Social Networks
社交网络接入统一管理器,可方便的从Twitter, LinkedIn, Facebook, Google Plus登陆、获得个人信息、发送消息、发送专篇、加入或删除好友
项目地址:https://github.com/antonkrasov/AndroidSocialNetworks
Demo地址:https://play.google.com/store/apps/details?id=com.github.androidsocialnetworks.apidemos -
SmartAppUpdates
Android App 增量升级,包括前后端方案、Demo、以及 so 库。可用于商店或大体积 App 差分升级
项目地址:https://github.com/cundong/SmartAppUpdates -
Magnet
创建类似 Facebook 聊天桌面悬浮窗的效果
项目地址:https://github.com/premnirmal/Magnet -
Parceler
通过注解及工具类自己主动完毕实体类 Parcelable及值传递
项目地址:https://github.com/johncarl81/parceler -
AcDisplay
将 Android 的通知都集中到锁屏显示
项目地址:https://github.com/AChep/AcDisplay
Demo地址:https://play.google.com/store/apps/details? -
QrCodeScan
ZXing和ZBar结合的二维码扫描项目,提高了扫描效率
项目地址:https://github.com/SkillCollege/QrCodeScan
项目截图: -
Android-ScreenShot
实现android系统截屏功能
项目地址:https://github.com/Android-ScreenShot/AndroidScreenShotService
文档介绍:http://blog.csdn.net/buptgshengod/article/details/39155979 -
card.io SDK for Android
信用卡扫描 Android SDK
项目地址:https://github.com/card-io/card.io-Android-SDK
Demo项目:https://github.com/card-io/card.io-Android-SDK/tree/master/SampleApp -
ASNE
Twitter, Facebook, Google Plus, LinkedIn, Instagram, Vkontakte, Odnoklassniki 的集成库,包含他们的大多数功能
项目地址:https://github.com/gorbin/ASNE
Demo地址:https://play.google.com/store/apps/details?id=com.gorbin.androidsocialnetworksextended.asne -
Android Signature Pad
Android 自己定义的签名 View,可自己定义笔颜色和大小
项目地址:https://github.com/gcacace/android-signaturepad
Demo项目:https://github.com/gcacace/android-signaturepad/tree/master/SignaturePad-Example -
Teleport
Android Wear 数据同步和消息传送库
项目地址:https://github.com/Mariuxtheone/Teleport -
DebugLog
可以帮你创建更简单和更easy理解的调试日志,可以友好的显示调试信息所在类和函数。
项目地址:https://github.com/MustafaFerhan/DebugLog
项目截图:
第三部分 优秀项目
主要介绍那些Android还不错的完整项目。眼下包括的项目主要根据是项目有意思或项目分层规范比較好。
Linux
项目地址:https://github.com/torvalds/linux
Android
项目地址:https://android.googlesource.com/ 或 https://github.com/android
以上两个项目,不解释
(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
PS:如今市面上非常多应用的二维码扫描功能都是从这个改动而来
(2) photup
编辑机批量上传照片到facebook上
项目地址:https://github.com/chrisbanes/photup
APK地址:https://play.google.com/store/apps/details?id=uk.co.senab.photup
PS:代码分包合理,非常棒。
只是这个项目依赖的开源项目比較多,比較难编译
(3) github-android
Github的Androidclient项目
项目地址:https://github.com/github/android
APK地址:https://play.google.com/store/apps/details?
(4) Notes
MIUI便签
项目地址:https://github.com/MiCode/Notes
APK地址:https://github.com/Trinea/TrineaDownload/blob/master/miui-note-demo.apk?raw=true
PS:项目分包比較合理,相比較miui的文件管理器https://github.com/MiCode/FileExplorer 代码规范较好得多
(5) weicuiyuan
四次元-新浪微博client
项目地址:https://github.com/qii/weiciyuan
APK地址:https://play.google.com/store/apps/details?id=org.qii.weiciyuan
(6) gnucash-android
一个记账理財软件
项目地址:https://github.com/codinguser/gnucash-android
APK地址:http://play.google.com/store/apps/details?id=org.gnucash.android
(7) AntennaPod
支持rss订阅、音乐订阅
项目地址:https://github.com/danieloeh/AntennaPod
APK地址:https://play.google.com/store/apps/details?
(8) ChaseWhisplyProject
打鬼游戏
项目地址:https://github.com/tvbarthel/ChaseWhisplyProject
APK地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.games.chasewhisply
(9) Tweet Lanes
功能完整的Twitterclient
项目地址:https://github.com/chrislacy/TweetLanes
APK地址:https://play.google.com/store/apps/details?id=com.tweetlanes.android
(10) Financius
简单易用的记账程序
项目地址:https://github.com/mvarnagiris/Financius
APK地址:https://play.google.com/store/apps/details?id=com.code44.finance
(11) todo.txt-android
todo.txt的官方Android应用
项目地址:https://github.com/ginatrapani/todo.txt-android
APK地址:https://play.google.com/store/apps/details?id=com.todotxt.todotxttouch
(12) simpletask
基于todo.txt官方应用的还有一个client
项目地址:https://github.com/mpcjanssen/simpletask-android
APK地址:https://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo
(13) Muzei Live Wallpaper
定时更换桌面精美壁纸
项目地址:https://github.com/romannurik/muzei
APK地址:https://play.google.com/store/apps/details?id=net.nurik.roman.muzei
第四部分 开发工具及測试工具
一、开发效率工具
-
Parceler
通过注解及工具类自己主动完毕实体类 Parcelable及值传递 项目地址:https://github.com/johncarl81/parceler -
Json2Java
依据JSon数据自己主动生成相应的Java实体类。还支持Parcel、Gson Annotations相应代码自己主动生成。期待兴许的提取父类以及多url构建整个project的功能
项目地址:https://github.com/jonfhancock/JsonToJava
在线演示:http://jsontojava.appspot.com/ -
IntelliJ Plugin for Android Parcelable boilerplate code generation
Android studio插件。生成Parcelable代码
项目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
效果图: -
Android Holo Colors IntelliJ Plugin
Android studio插件。生成holo样式9 patch图片
项目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
效果图: -
Android Drawable Factory
用于生成各个分辨率的图片
项目地址:https://github.com/tizionario/AndroidDrawableFactory
效果图: -
SelectorChapek for Android
Android Studio插件,可依据固定文件名称格式资源自己主动生成drawable selectors xml文件。
项目地址:https://github.com/inmite/android-selector-chapek -
Android Action Bar Style Generator
Android ActionBar样式生成器,可在线选择ActionBar样式自己主动生成所须要的图片资源及xml文件
项目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
在线演示:http://jgilfelt.github.io/android-actionbarstylegenerator/ -
ButterKnifeZelezny
用于高速生成ButterKnifeView注入代码的Android Studio/IDEA插件
项目地址:https://github.com/inmite/android-butterknife-zelezny -
RoboCoP
利用Gradle task依据固定格式的json文件生成ContentProvider
项目地址:https://github.com/mediarain/RoboCoP -
appiconsizes
用于生成各个分辨率的图片
项目地址:http://www.appiconsizes.com/ -
Gradle Retrolambda Plugin
Retrolambda是将Java8的Lambdas应用于Java7的工具。本项目是Gradle插件。通过Retrolambda从而使Java或Android项目用Java8的Lambdas编写。将编译后的字节码转换为Java6和7的字节码从而正常执行
项目地址:https://github.com/evant/gradle-retrolambda -
Dagger IntelliJ Plugin
dagger的intellij插件
项目地址:https://github.com/square/dagger-intellij-plugin -
Android Gen Drawable Maven plugin
在编译时依据SVG描写叙述文件生成不同分辨率的jpg、png或点9图片
项目地址:https://github.com/avianey/androidgendrawable-maven-plugin -
Android Asset Studio
各种Android资源自己主动生成器。包含启动图标、ActionBar图标、通知栏图标、点9等
项目地址:https://github.com/romannurik/AndroidAssetStudio
在线演示:http://romannurik.github.io/AndroidAssetStudio/ -
jsonschema2pojo
依据Json内容生成java对象,支持jackjson和gson
项目地址:https://github.com/joelittlejohn/jsonschema2pojo
在线演示:http://www.jsonschema2pojo.org/ -
9-Patch-Resizer
自己主动生成 png 及点 9 图片的不同分辨率版本号
项目地址:https://github.com/redwarp/9-Patch-Resizer
二、开发自測相关
-
Quality Tools for Android
Android測试及自測工具集合和演示样例
项目地址:https://github.com/stephanenicolas/Quality-Tools-for-Android -
android-test-kit
Google的Android測试工具
包含GoogleInstrumentationTestRunner(增强版的InstrumentationTestRunner)和Espresso(用于高速写出可靠測试用例的API)
项目地址:https://code.google.com/p/android-test-kit/
文档介绍:https://code.google.com/p/android-test-kit/w/list -
robolectric
測试用例编写框架
项目地址:https://github.com/robolectric/robolectric
Demo地址:https://github.com/robolectric/robolectricsample
文档介绍:http://robolectric.org/
特点:(1). 不须要模拟器在一般JVM就能够执行測试用例
(2). 能完毕在真机上的大部分測试包含感应器
其它的測试用例及相关模块Mock可见:android-mock, mockito, easy-mock -
Android FEST
提供一些列方便的断言,可用于提高编写Android自測代码效率
项目地址:https://github.com/square/fest-android -
BoundBox
可用于測试类各种訪问权限的属性、方法。实际是通过BoundBox这个annotation生成一个属性和方法都是public权限的中间类并对此类进行測试完毕的
项目地址:https://github.com/stephanenicolas/boundbox -
Hugo
用于打印函数信息及运行时间的工具,仅在debug模式生效
项目地址:https://github.com/JakeWharton/hugo -
scalpel
在应用以下加入一层用于界面调试。待具体补充 // TODO
项目地址:https://github.com/JakeWharton/scalpel -
Android Screenshot library
Android截图工具类,用于在持续集成时截图
项目地址:https://github.com/rtyley/android-screenshot-lib -
sonar-android-lint-plugin
将android lint的错误在sonar中展现
项目地址:https://github.com/SonarCommunity/sonar-android
三、測试工具
-
Spoon
可用于android不同机型设备自己主动化測试,能将应用apk和測试apk执行在不同机器上并生成对应測试报告。 -
Tencent APT
APT是腾讯开源的一个Android平台高效性能測试组件。提供丰富有用的功能。适用于开发自測、定位性能瓶颈;測试人员完毕性能基准測试、竞品对照測试
项目地址:https://github.com/stormzhang/APT -
Emmagee
网易开源的性能測试工具,包含CPU、内存、网络流量、启动时间、电池状态等
项目地址:https://github.com/NetEase/Emmagee -
Android py-uiautomator
py-uiautomator是一个对Android uiautomator用python进行封装的測试框架.
项目地址:https://github.com/xiaocong/uiautomator
四、开发及编译环境
-
Buck
facebook开源的Android编译工具,效率是ant的两倍。主要长处在于:
(1) 加快编译速度,通过并行利用多核cpu和跟踪不变资源降低增量编译时间实现
(2) 能够在编译系统中生成编译规则而无须另外的系统生成编译规则文件
(3) 编译同一时候可生成单元測试结果
(4) 既可用于IDE编译也可用于持续集成编译
(5) facebook持续优化中
项目地址:https://github.com/facebook/buck -
Android Maven Plugin
Android Maven插件。可用于对android三方依赖进行管理。在J2EE开发中,maven是很成熟的依赖库管理工具,可统一管理依赖库。
项目地址:https://github.com/jayway/maven-android-plugin -
umeng-muti-channel-build-tool
渠道打包工具
项目地址:https://github.com/umeng/umeng-muti-channel-build-tool
另可參见Google的构建系统Gradle:http://tools.android.com/tech-docs/new-build-system/user-guide -
Genymotion
眼下最好用最快的android模拟器
项目地址:http://www.genymotion.com/
Android studio集成控件: http://plugins.jetbrains.com/plugin/7269?pr=idea
Cyril Mottier推荐:http://cyrilmottier.com/2013/06/27/a-productive-android-development-environment/ -
gradle-mvn-push
方便的将Gradle的Artifacts上传到Maven仓库
项目地址:https://github.com/chrisbanes/gradle-mvn-push
文档介绍:https://github.com/chrisbanes/gradle-mvn-push#usage -
Android Emulator Plugin for Jenkins
Android模拟器 jenkins插件,用于Jenkins做持续集成时跑模拟器測试
项目地址:https://github.com/jenkinsci/android-emulator-plugin -
Android Maven Plugin
管理应用所须要的依赖库。包含的构建工具有Maven、Gradle、ant、sbt
项目地址:https://github.com/mosabua/maven-android-sdk-deployer -
SDK Manager Plugin
下载和管理Android SDK的Gradle插件
项目地址:https://github.com/JakeWharton/sdk-manager-plugin -
Gradle Protobuf Plugin
将.proto文件转换成Java文件的gradle插件
项目地址:https://github.com/andrewkroh/gradle-protobuf-plugin -
ChromeADB
Chrome 的 Adb 插件,当登录后,能看到全部连接的设备并操作。能够看应用、进程、内存及磁盘使用情况等
项目地址:https://github.com/importre/chromeadb
五、其它
-
ViewServer
同意app执行在不论什么手机上都能够用HierarchyViewer查看
项目地址:https://github.com/romainguy/ViewServer -
GridWichterle for Android
在整个系统上显示一个grid,用来帮助查看应用布局及使得布局更美观。可设置grid网格大小和颜色,android推荐48dp和8dp,可见 Android Design Guidelines – Metrics and Grids
项目地址:https://github.com/inmite/android-grid-wichterle
APK地址:https://play.google.com/store/apps/details?id=eu.inmite.android.gridwichterle
PS:比起hierarchyviewer相差甚远,只是偶尔可用来作为布局查看工具。 -
Catlog
手机端log查看工具。支持不同颜色显示、keyword过滤、级别过滤、进程id过滤、录制功能等
项目地址:https://github.com/nolanlawson/Catlog
在线演示:https://play.google.com/store/apps/details?id=com.nolanlawson.logcat -
PID Cat
依据package查看logcat日志
项目地址:https://github.com/JakeWharton/pidcat -
ACRA
应用崩溃信息日志上报到GoogleDoc工具,网页版展现结果三方开源地址https://github.com/BenoitDuffez/crashreportsviewer
项目地址:https://github.com/ACRA/acra
文档地址:https://github.com/ACRA/acra/wiki/BasicSetup -
Crashlytics
提供丰富的应用崩溃信息日志收集
轻量级,丰富。可自己定义应用崩溃信息收集器,附有邮件通知
项目地址:http://www.crashlytics.com/
集成插件:Android Studio, Eclipse and IntelliJ -
Android Resource Navigator
chrome插件。能够方便的查看github上android源代码project的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? -
android-resource-remover
依据lint的提示删除项目中没用的资源,降低包的大小
项目地址:https://github.com/KeepSafe/android-resource-remover -
Telescope
通过手势截图以特定主题发送到特定邮箱地址报告Bug
项目地址:https://github.com/mattprecious/telescope -
Complete Android Fragment & Activity Lifecycle
完整的Android Fragment/Activity生命周期图
项目地址:https://github.com/xxv/android-lifecycle -
Bugsnag Notifier for Android
通过Thread.UncaughtExceptionHandler
捕获应用未处理的异常崩溃 Bug 并用 Notification 展示同一时候上传到后台server
项目地址:https://github.com/bugsnag/bugsnag-android
文档地址:https://github.com/bugsnag/bugsnag-android#installation--setup -
Material Design Icons
Google Material Design 规范中的 Icon
项目地址:https://github.com/google/material-design-icons -
scrollscreenshot
Android 滚动屏幕自己主动截图 jar 包,支持纵向、横向滚动截屏拼接
项目地址:https://github.com/PGSSoft/scrollscreenshot
效果图:
第五部分
主要介绍那些乐于分享而且有一些非常不错的开源项目的个人和组织。Follow大神。深挖大神的项目和following,你会发现非常多。
一、个人
-
JakeWharton
就职于Square。绝对牛逼的大神,项目主要集中在Android版本号兼容,ViewPager及开发工具上
Github地址:https://github.com/JakeWharton
代表作:ActionBarSherlock,Android-ViewPagerIndicator,Nine Old Androids。SwipeToDismissNOA,hugo,butterknife,Android-DirectionalViewPager, scalpel
pidcat另外对square及其它开源项目有非常多贡献
主页:http://jakewharton.com/ -
Chris Banes
Github地址:https://github.com/chrisbanes
代表作:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache。Android-PullToRefresh
主页:http://chris.banes.me/ -
Koushik Dutta
就职于ClockworkMod
Github地址:https://github.com/koush
代表作:Superuser。AndroidAsync。UrlImageViewHelper,ion, 另外对https://github.com/CyanogenMod 的开源项目有非常多贡献
主页:http://koush.com/ -
Simon Vig
Github地址:https://github.com/SimonVT
代表作:android-menudrawer,MessageBar
主页:http://simonvt.net/ -
Manuel Peinado
Github地址:https://github.com/ManuelPeinado
代表作:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeader -
Emil Sj?lander
Github地址:https://github.com/emilsjolander
代表作:StickyListHeaders,sprinkles。android-FlipView
主页:http://emilsjolander.se/ -
greenrobot
Github地址:https://github.com/greenrobot
代表作:greenDAO,EventBus
主页:http://greenrobot.de/ -
Jeff Gilfelt
Github地址:https://github.com/jgilfelt
代表作:android-mapviewballoons。android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
主页:http://jeffgilfelt.com -
Romain Guy
Android team成员(2013.10已离开Android team,仍在Google)
Github地址:https://github.com/romainguy
代表作:ViewServer
主页:http://www.curious-creature.org/category/android/
個人攝影作品:http://www.flickr.com/photos/romainguy -
sephiroth74
就职于Aviary.com
Github地址:https://github.com/sephiroth74
代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
主页:http://www.sephiroth.it/ -
Cyril Mottier
Google开发人员专家认证。公布一些Android技巧及文章
Github地址:https://github.com/cyrilmottier
代表作:GreenDroid。Polaris
主页:http://cyrilmottier.com/
二、组织
-
Square
有态度有良心的企业,非常多不错的分享
Github地址:https://github.com/square
代表作:okhttp、fest-android,android-times-square、picasso、dagger、spoon等等
主页:http://square.github.io/ -
Inmite s.r.o.
Github地址:https://github.com/inmite
代表作:android-styled-dialogs,android-grid-wichterle。android-selector-chapek
主页:http://www.inmite.eu/
三、博客
License
Copyright 2014 trinea.cn
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.