1.Side-Menu.Android
分类侧滑菜单,Yalantis 出品。
项目地址:https://github.com/Yalantis/Side-Menu.Android
2.Context-Menu.Android
可以方便快速集成漂亮带有动画效果的上下文菜单,Yalantis出品。
项目地址:https://github.com/Yalantis/Context-Menu.Android
3.Pull-to-Refresh.Rentals-Android
提供一个简单可以自定义的下拉刷新实现,Yalantis 出品。
项目地址:https://github.com/Yalantis/Pull-to-Refresh.Rentals-Android
4.Titanic
可以显示水位上升下降的TextView
项目地址:https://github.com/RomainPiel/Titanic
5.AndroidSwipeLayout
滑动Layout,支持单个View,ListView,GridView
项目地址:https://github.com/daimajia/AndroidSwipeLayout
Demo地址:Download Demo
6.Android Typeface Helper
可以帮你轻松实现自定义字体的库
项目地址:https://github.com/norbsoft/android-typeface-helper
7.android-lockpattern
Android的图案密码解锁
项目地址: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开机的图案密码解锁,支付宝的密码解锁
8.ToggleButton
状态切换的 Button,类似 iOS,用 View 实现
项目地址:https://github.com/zcweng/ToggleButton
9.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
10.实现滑动ViewPager渐变背景色
项目地址:https://github.com/TaurusXi/GuideBackgroundColorAnimation
UI源码第二弹
一个强大的文件选择控件。界面比较漂亮,使用也很简单。特点:可以自定义UI;支持复制、剪切、删除、移动文件;可以用在Fragment、ativity、DialogFragment中;支持快速切换目录。
http://jcodecraeer.com/a/opensource/2014/1020/1806.html
多列效果的ListView,采用重新包装adapter的方式,使你的ListView可以显示成多列,跟普通的ListView相比,只会增加一行代码。
http://jcodecraeer.com/a/opensource/2014/1020/1805.html
一个开源的相机应用源码,由著名的rom制作团队cyanogenmod出品,曾是他们的官方相机应用,如果你想学习相机应用的编写,这是一个很好的学习材料。
http://jcodecraeer.com/a/opensource/2014/1019/1803.html
一个实现了ListView多选操作的ListAdapter,他的功能类似于ListView的CHOICE_MODE_MULTIPLE_MODAL 模式,但是还有如下特点:他可以保持选择的数目 ,并且选中的状态下有一个透明的背景色;它支持2.x版本;它可以用到gridview中实现gridview的多选效果。
http://jcodecraeer.com/a/opensource/2014/1017/1795.html
一个开源的音乐播放器代码。JamsMusicPlayer本来是play store上的一个付费应用,因为google的付费应用必须显示开发者住址的政策而被迫下架。作者最终选择了将这个app开源出来。
http://jcodecraeer.com/a/opensource/2014/1016/1793.html
TextJustify是对安卓TextView控件的格式优化,TextView在显示文字的时候往往在一行的中间部分就跳到了下一行,看起来很杂乱,尤其是在显示英文的时候,TextJustify解决了这个问题。
http://jcodecraeer.com/a/opensource/2014/1016/1791.html
一个类似Android版Google+浮动功能按钮的控件,可以响应ListView的滚动事件。当列表向上滚动的时候会自动显示,向下滚动的时候自动隐藏。
http://jcodecraeer.com/a/opensource/2014/1016/1789.html
带圆形进度显示的进度条,如果你想在安卓中实现有趣的动画效果,最直接的办法是使用drawable的子类而不是button或者ImageView
http://jcodecraeer.com/a/opensource/2014/1016/1785.html
使用support.v4包下的ViewDragHelper实现QQ5.0侧滑效果
http://jcodecraeer.com/a/opensource/2014/1016/1783.html
一个能够向上滑动的时候往上飞出一个显示区域的控件,类似于play music中的效果。该控件在主界面中有一个底部触发区域,该区域点击的时候被隐藏在下方的内容将网上漂移到顶部,直到被隐藏的内容完全挡住原来的布局。当被隐藏区域完全显示,这时再次点击触发区域(或者是通过下滑的手势)将恢复到最初的状态。
http://jcodecraeer.com/a/opensource/2014/1016/1782.html
SwipeListView是一个Android List View实现,实现了自定义ListView单元格,可通过滑动来显示扩展面板。
http://jcodecraeer.com/a/opensource/2014/1015/1777.html
相信很多人都知道path上那个栩栩如生的菜单效果,网上仿照实现的开源代码我至少看到有5种,不过这个是我所知道的最好的,理由有2:1非常流畅; 2使用接口非常简单,就像使用自带的控件一样。
http://jcodecraeer.com/a/opensource/2014/1014/1771.html
一个实现了可滑动卡片风格的开源项目,类似国外很火的交友软件Tinder中的卡片效果,图中的卡片可左右滑动飞出界面,分别表示喜欢和不喜欢。
http://jcodecraeer.com/a/opensource/2014/1014/1770.html
又一个简洁的文件选择器,特点如下:可以选择文件;可以选择目录;可以选择多个文件或者目录;支持按过滤条件选择;支持排序;可以创建新的目录。
http://jcodecraeer.com/a/opensource/2014/1014/1768.html
具有iOS 7/8 parallax effect 风格的侧边菜单,类似于最新版qq的菜单效果。ReisdeMenu 创意灵感来自于Dribbble1还有2,而这个是Android版的ResideMenu,在视觉效果上部分参考了iOS版的RESideMenu
http://jcodecraeer.com/a/opensource/2014/1014/1767.html
一个用opengl es实现了各种逼真3d效果的代码示例程序,非常值得学习。
http://jcodecraeer.com/a/opensource/2014/1013/1757.html
一个记事本与任务计划的app,适配和手机和平板,还可以使用google账户将数据保存到云端,动画效果做的不错 ,典型的欧美人的风格。
http://jcodecraeer.com/a/opensource/2014/1012/1752.html
CalendarListview 提供了在日历视图中选择一个日期的简单方法
http://jcodecraeer.com/a/opensource/2014/1011/1742.html
注意跟StaggeredGridView区别,他的实现原理更类似于PinterestLikeAdapterView。AndroidStaggeredGrid的目的是为了满足Etsy app的需求(估计是作者自己开发的一个app)。有个很不错的特点是,当横竖屏切换时,改控件可以自己定位上次浏览的位置。和ListView一样,支持添加header 和 footer。个人觉得这个才是最好的。
http://jcodecraeer.com/a/opensource/2014/1011/1737.html
该库使你通过简简单单几行代码就能实现类似flipboard的翻转效果。比起以前看到的那个android-flip库,这个要流畅很多。
http://jcodecraeer.com/a/opensource/2014/1011/1733.html
一个实现了水波纹动态效果的自定义view,能够改变水的高度,此特性使其可以作为呈现加载效果的progressbar ,可自定义背景色以及进度等
http://jcodecraeer.com/a/opensource/2014/1011/1732.html
Android Week View 是一个类似于原生日历应用中日视图和周视图的开发库,支持自定义style。
UI源码/开源项目第四弹
1. ActionBarSherlock
ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式。
对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局。能够让开发者轻松开发一款带动作栏(Action bar)的应用,并且适用于Android 2.x及其以上所有版本。
详情请参考:ActionBarSherlock
2. facebook-android-sdk
Facebook SDK for Android是一个开源库,允许开发者将Facebook集成到所开发的Android应用中。
如果想要获取更多关于示例、文档、将SDK集成到App中、源代码等信息,可直接登陆Facebook Developers查看。
3. SlidingMenu(SlidingMenu Demos)
SlidingMenu是一个开源的Android库,能够让开发者轻松开发一款应用,实现类似于Google+、Youtube和Facebook应用中非常流行的滑动式菜单。
使用SlidingMenu的Android应用:
4. cocos2d-x
在移动开发领域,将Cocos2D-X用于主流iOS/Android游戏开发的公司、开发团队多不胜数。cocos2d-x是一个开源的支持多平台的2D游戏框架,使用C++开发,基于cocos2d-iphone,在MIT许可证下发布。主分支在GitHub上使用OpenGL ES 2.0渲染,而旧版gles11分支则使用OpenGL ES 1.1渲染。
支持iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多个平台。支持C++、Lua、JavaScript编程语言。
5. android
GitHub Android App是GitHub开源的Android客户端,支持Issues、Gists,并集成了新闻Feed,能够让你及时跟进组织及关注的开发者、库等。同时,该应用还提供了一个用户快速访问你所创建、监控及发布issue的面板,可查看并将问题加入到收藏夹,可对标签、里程碑和任务进行过滤配置。
android资源库包含了GitHub Android App的所有源代码。
6. Android-ViewPagerIndicator
ViewPager指针项目,在使用ViewPager的时候能够指示ViewPager所在的位置,就像Google Play中切换的效果一样,还能使用在应用初始化的介绍页面。
兼容Android支持库的ViewPager及ActionBarSherlock,最初是基于Patrik Åkerfeldt的ViewFlow,开发者可以直接登陆Google Play下载该项目的演示应用。
7. MonoGame
MonoGame是一个Microsoft XNA 4.x Framework的开源跨平台实现。用于让XNA开发者将他们在Xbox 360、Windows & Windows Phone上开发的游戏移植到iOS、Android、Mac OS X、Linux及Windows 8 Metro上,目前,PlayStation Mobile & Raspberry PI的开发正在进行中。
详情请参考:MonoGame
8. Android-PullToRefresh
该项目用于为Android提供一个可重用的下拉刷新部件。它最初来源于Johan Nilsson的库(主要是图形、字符串和动画),但这些后来都已被取代。
9. android-async-http
android-async-http是Android上的一个异步、基于回调的HTTP客户端开发包,建立在Apache的HttpClient库上。
10. Android-Universal-Image-Loader
Android上最让人头疼的莫过于从网络获取图片、显示、回收,任何一个环节有问题都可能直接OOM,这个项目或许能帮到你。
Universal Image Loader for Android的目的是为了实现异步的网络图片加载、缓存及显示,支持多线程异步加载。它最初来源于Fedor Vlasov的项目,且自此之后,经过大规模的重构和改进。
11. GreenDroid
GreenDroid最初是由Cyril Mottier发起,是一个Android的UI开发类库,能够让UI开发更加简便,并且在应用中始终保持一致。
详情请参考:Cyril Mottier's Blog
12. Anki-Android
AnkiDroid是一个免费、开源的Android的闪存应用,可直接从Google Play进行下载。
详情请参考:ankidroid
13. android-actionbar
Action bar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式。在大多数的情况下,当开发者需要突出展现用户行为或在全局导航的activity中使用action bar,因为action bar能够使应用程序给用户提供一致的界面,且系统能够很好地根据不同的屏幕配置来适应操作栏的外观。
Action bar的主要目的:
14. android-viewflow
android-viewflow是Android平台上的一个视图切换的效果库,ViewFlow相当于Android UI部件提供水平滚动的ViewGroup,使用Adapter进行条目绑定。
15. android-mapviewballoons
当使用Android地图外部库(com.google.android.maps)时,android-mapviewballoons会提供一个简单的方式来对地图覆盖进行标注,就是一个简单的信息气泡。
它由BalloonOverlayView组成,是一个代表显示你的MapView及BalloonItemizedOverlay的气泡的视图,BalloonItemizedOverlay是ItemizedOverlay的一个抽象扩展。
16. PushSharp
一个向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone和Windows 8设备发送推送通知的服务器端库。
17. androidannotations
Android Annotations是一个开源的框架,用于加速 Android应用的开发,可以让你把重点放在功能的实现上,简化了代码,提升了可维护性。
18. HockeyKit
Hockey是一个iOS Ad-Hoc自动更新框架。苹果App Store中的所有App都可以使用它,它能够显著地提高Beta测试的整个过程,分为两部分:服务器和客户端框架。服务器组件需要所有脚本,但在没有客户端库的情况下,也可以单独工作。它提供一个Web接口,Beta测试者可以使用它来安装最新的AdHoc配置文件,也可以直接在设备上通过Safari安装最新的Beta版本。
19. android-menudrawer
Android上的菜单展示风格各异,其中用得最多且体验最好的莫过于左右滑动来显示隐藏的菜单,android-menudrawer是一个滑动式菜单实现,允许用户在应用当中实现无缝导航。该项目具有多种菜单展示效果,其中最常见的就是通过屏幕边缘拖动或点击动作栏的“向上”按钮显示。
实现功能:
20. android-flip
Aphid FlipView是一个能够实现Flipboard翻页效果的UI组件。
UI源码/开源项目第五弹
21. drag-sort-listview
DragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能。重写了TouchInterceptor(TI)类来提供更加优美的拖拽动画效果。
DSLV主要特性:
DragSortListView适用于带有任何优先级的列表:收藏夹、播放列表及清单等,算得上是目前Android开源实现拖动排序操作最完美的方案。
22. c-geo-opensource
c:geo是Android设备上一个简单而又强大的非官方地理寻宝客户端。与其他类似应用不同的是,c:geo不需要Web浏览器,也不需要文件输出。你可以在毫无准备的情况下,毫无后顾之忧地带上你的智能手机去进行地理寻宝。当然,你也不需要付钱,因为它是免费的。
c-geo-opensource包含了c:geo所有开源代码。
详情请参考:c:geo
23. NineOldAndroids
自Android 3.0以上的版本,SDK新增了一个android.animation包,里面的类都是跟动画效果实现相关的,通过Honeycomb API,能够实现非常复杂的动画效果。但如果开发者想在3.0以下的版本中也能使用到这套API,那么Nine Old Androids就会是你最好的选择,该API和Honeycomb API完全一样,只是改变了你使用com.nineoldandroids.XXX的入口。
该项目包含两个工程,一个是Library,即为动画效果的实现库,另一个则是Sample,是对如何使用该API的演示。开发者可以直接登陆Google Play下载安装Nine Old Androids Sample,查看演示。
详情请参考:Nine Old Androids
24. ppsspp
PPSSPP是由GC/Wii模拟器Dolphin联合创始人之一Henrik Rydgård开发的一款免费的跨平台开源模拟器,支持Windows、Linux、Mac、Android、iOS、BlackBerry 10等主流计算机与移动操作系统,可直接工作在x86、x64、ARM等CPU平台上,以GNU GPLv2许可协议发布,主要使用C++编写以提高效率和可移植性。
只要支持OpenGL ES 2.0,PPSSPP就可以在相当低规格的硬件设备上运行,包括基于ARM的手机及平板电脑。
详情请参考:PPSSPP
25. androidquery
Android-Query(AQuery)是一个轻量级的开发包,用于实现Android上的异步任务和操作UI元素,可让Android应用开发更简单、更容易,也更有趣。
26. droid-fu
Droid-Fu是一个开源的通用Android应用库,其主要目的是为了让Android开发更容易,包含有许多工具类,还有非常易用的Android组件。
Droid-Fu提供支持的领域包括:
Droid-Fu最大的优势在于它的应用生命周期帮助类,如果你正在开发一款Android应用,而它的主要任务是运行后台任务,比如从Web上抓取数据,那么,你一定会使用到Droid-Fu,不过,目前该项目在GitHub上已经停止更新维护。
详情请参考:droid-fu
27. TextSecure
TextSecure是Whisper Systems团队开发的一个Android上的加密信息客户端,旨在增强用户和企业通信的安全性,其源代码于2011年被Twitter发布在GitHub开源数据库中。
该软件允许用户将在Android设备上所有发送和接收的短信内容进行加密,还可以将加密信息发送给另一个TextSecure用户。
28. XobotOS
XobotOS是Xamarin的一个研究项目,用于将Android 4.0从Java/Dalvik移植到C#,并对移植后的性能及内存占用情况进行检测。
29. ignition
在编写Android应用时,通过提供即用组件和包含许多样板文件的实用类,ignition可以让你的Android应用快速起步。ignition涵盖的区域包括:
ignition包括三个子项目:
详情请参考:ignition Sample applications
30. android_page_curl
android_page_curl是一个在Android上使用OpenGL ES实现类似书本翻页效果的示例程序。(点击链接查看视频演示)
31. asmack
说到aSmack,自然要先提提Smack。Smack API是一个完整的实现了XMPP协议的开源API库,而aSmack则是Smack在Android上的构建版本,于2013年2月初迁移到GitHub上,该资源库并不包含太多的代码,只是一个构建环境。开发者可以利用该API进行基于XMPP协议的即时消息应用程序开发。
详情请参考:asmack
32. AndroidBillingLibrary
In-app Billing是一项Google Play服务,能够让你在应用内进行数字内容销售,可销售的数字内容范围非常广,包括媒体文件、照片等下载内容,还包括游戏级别、药剂、增值服务和功能等虚拟内容。Android Billing Library可以实现In-app Billing的所有规范,并提供更高级的类来进行使用。
Google于2012年底正式发布了v3版Android In-app Billing,但截至目前,GitHub上的Android Billing Library还只能支持到v2版,据悉Google将于2013年初对它进行更新。
详情请参考:Google Play In-app Billing
33. Crouton
Crouton是Android上的一个可以让开发者对环境中的Toast进行替换的类,以一个应用程序窗口的方式显示,而其显示位置则由开发者自己决定。
开发者可以直接登陆Google Play下载安装Crouton Demo,查看应用演示。
34. cwac-endless
CommonsWare Android Components(CWAC)是一个开源的Android组件库,用来解决Android开发中各个方面的常见问题,每个 CWAC组件打包成一个独立的jar文件,其中就包含cwac-endless。
cwac-endless提供一个EndlessAdapter,这是一个自动分页的List,当用户浏览到List最后一行时自动请求新的数据。
详情请参考:Commons Ware
35. DiskLruCache
在Android应用开发中,为了提高UI的流畅性、响应速度,提供更高的用户体验,开发者常常会绞尽脑汁地思考如何实现高效加载图片,而DiskLruCache实现正是开发者常用的图片缓存技术之一。Disk LRU Cache,顾名思义,硬件缓存,就是一个在文件系统中使用有限空间进行高速缓存。每个缓存项都有一个字符串键和一个固定大小的值。
点击链接下载该库项目。
36. Android-SlideExpandableListView
如果你对Android提供的Android ExpandableListView并不满意,一心想要实现诸如Spotify应用那般的效果,那么SlideExpandableListView绝对是你最好的选择。该库允许你自定义每个列表项目中的ListView,一旦用户点击某个按钮,即可实现该列表项目区域滑动。
37. gauges-android
Gaug.es for Android是由gaug.es推出的一款在Android设备上对网站流量数据进行实时统计的应用。gauges-android包含了该应用的源代码,开发者可以直接登陆Google Play下载安装该应用。
38. acra
ACRA是一个能够让Android应用自动将崩溃报告以谷歌文档电子表的形式进行发送的库,旨在当应用发生崩溃或出现错误行为时,开发者可以获取到相关数据。
39. roboguice
RoboGuice是Android平台上基于Google Guice开发的一个库,可以大大简化Android应用开发的代码及一些繁琐重复的代码。给Android带来了简单、易用的依赖注入,如果你使用过Spring或Guice的话,你就会知道这种编程方式是多么的便捷。
40. otto
Otto是由Square发布的一个着重于Android支持的基于Guava的强大的事件总线,在对应用程序不同部分进行解耦之后,仍然允许它们进行有效的沟通。
详情请参考:Otto
UI源码/开源项目第六弹
http://blog.csdn.net/shulianghan/article/details/18046021
http://www.cnblogs.com/hawkon/p/3593709.html
http://blog.csdn.net/finddreams/article/details/40923109