最流行的android组件大全

目录 [−]

  1. Awesome Android
  2. 周报日报
  3. 工具和教程
  4. UI组件
  5. 类库
  6. 游戏引擎
  7. Android HTML5应用
  8. 新增加的项目 (from 2015.06)

最后更新
2016-02-16 最近几个月忙于写书,终于将新年的第一次整理完成。新加的项目在文章最后。
2015-11-24 增加 更多的开源项目。实现项目图片延时加载,提高页面显示速度。
2015-10-26 增加 更多的开源项目。
2015-09-15 增加 更多的开源项目。
2015-08-21 增加 awssome android XXXXX,在文章的前面。
2015-08-12 增加 很大一堆开源UI库等,在文章最后。
2015-06-05 增加 *FlyRefresh......*等一堆新的项目。以后新增加的项目放在文章最后
2015-04-20 增加 CircleProgress, MultiImageSelector, ArcLayout, richeditor-android

Android 是目前最流行的移动操作系统之一。 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件。
本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文。

部分图片需要翻墙才能显示

http://android-arsenal.com/free

以下是我收集和精选的Android开源项目。

Awesome Android

周报日报

本文所搜集的组件来源于网络上的文章,github,以及下面的这些周报

工具和教程

  • MaterialDesigh资源整理
    light_sky@weibo 整理的MaterialDesigh资源,很多资料。

  • androidkickstartr
    填写一个表单, 选择你要集成的一些Android开源项目,自动给你生成一个应用程序。 还有比这更贴心的服务吗?

  • Android Button Maker
    Android Button Maker是一个可以在线生成按钮代码的工具。Android API提供了XML文件定义的几何形状的Drawable资源,包括颜色、边界和梯度。这些按钮的生成是基于drawable形态的XML代码,这样可以比普通的png按钮加载得更快。你可以在设置面板上自定义按钮的属性,然后获取其源码。

  • AndroidAssetStudio
    Asset Studio可以让你快速简单地从已经存在的图片、剪贴画或者文本资源中生成图标。这些图标可以应用在
    ** Launcher icons
    ** Action bar and tab icons
    ** Notification icons
    ** Navigation drawer indicator
    ** Generic icons

  • Actionbar Style Generator
    这个ActionBar风格生成器可以让你轻松地创建一个简洁、有吸引力且无漏洞的自定义actionbar。它会生成所有9种必须的patch assets以及相关XML的drawables和styles文件,这些文件可以直接复制到你的项目中。

  • Android Holo
    这个Android Holo颜色生成器可以让你简单地为你的应用创建Android组件,如editext或者spinner,并且可以使用自己的颜色。它会生成所有9种必须的patch assets以及相关XML的drawables和styles文件,可以直接复制这些文件到你的项目中。

  • Android Layout Binder
    Android Layout Binder会将你安卓的XML布局文件转换成一系列的声明,绑定保存所有的人工输入。键入一个前缀,选择XML文件上要粘贴的范围,然后点击生成。选择“verbose”来找出所有被跳过的区域的原因。

  • APKAnalyser
    这是一个静态、虚拟分析工具,你可以全面地概览应用的架构。可以用它来检查API参考文档,查看应用依赖还有反编译字节码。APKAnalyser是一个完整的开源工具链,它支持修改应用的二进制代码,你可以重新打包、安装、运行以及验证logcat的结果。

UI组件

  • Material Design资源
    一大波优质的Material Design资源免费下载

  • Material UI
    Material UI 是一个 CSS 框架和一组实现谷歌 Material Design 设计规范的 React 组件。可以用在html5方式的APP中

  • android-ui
    Android UI库, Android L风格。

  • android-UniversalMusicPlayer
    google官方跨设备的例子,一款播放器,UI和交互都超级棒,而且同时支持手机、平板和Android Wear。
  • Euclid
    一个非常精美的用户信息页面的实现,动效很细腻。
  • Material Palette调色板
    Material Design出来一段时间了,身为Android开发人员想要自己适配一套Material Design,但是又苦于缺少设计方面的知识与理解,怎么办呢?这个网站就可以自动帮你生成调色板。
  • ActionBarSherlock
    一个功能强大的ActionBar组件(不仅仅是ActionBar)。 Android 4.0+上使用native action bar, 低版本的Android模拟实现。强大到无语了,必须关注的一个开源组件。
  • SlidingMenu
    一款优秀的侧滑菜单组件。 Google+, YouTube和Facebook在它们的应用中采用的侧滑菜单流行开来, 国内也有很多的应用如网易新闻等也采用了这种菜单方式。 侧滑菜单组件很好几种, 尤以此款最为好用。 看看官方网站上的知名用户就知道了。

  • Android-Iconics
    这是一个可以让你在你的项目中使用几乎任何字体图标的库。默认包含 FontAwesome 和 Material Design Icons 还包含 Meteocons 插件。你甚至可以添加任何你自定义的字体图标(typeface)。

  • superCleanMaster
    一键清理 开源版,包括内存加速,缓存清理,自启管理,软件管理等。
  • Taurus
    下拉刷新的动画好赞。
  • SimpleTagImageView
    一个可以在图片四个角显示一个小标签的ImageView,并且可以控制标签的宽度和背景颜色。
  • DevelopQuickSetting
    一个快速开启关闭开发者设置的工具,提供了app界面和桌面widget,能快速打开关闭overdraw,layout border,gpu rendering,adb wifi,不保存activity实例等功能。
    需要root权限
  • Android-ViewPagerIndicator
    滑动页面几乎成了现在国内的应用的标配了,尤其在你第一次安装/启动应用时, 总会有几张介绍页面让你滑动显示。 用它吧,不会辜负你的。
  • Android-PullToRefresh
    你不陌生, 在列表或者视图的顶部或者底部拖动可以刷新数据和页面。可以和ListView、ExpandableListView、GridView、WebView、ScrollView、HorizontalScrollView、ViewPager配合使用。
  • picasso
    强大的图像下载和缓存库。
  • facebook-android-sdk
    Facebook提供的SDK, 可以在应用中集成Facebook.

  • android-bootstrap
    不同于上面的Android-Bootstrap。 此项目是一个Android应用程序的模版, 相当于一个脚手架的功能。

  • cardslib
    一种卡片式的布局控件。 记得以前的有道词典的默认页就是这种布局。
Screen
  • LDrawer
    使用material design动画的drawer图标
  • PhotoView
    ImageView扩展, 支持放缩和手势。
  • ListViewAnimations
    为ListView增加动画, 还提供滑动删除选定项的功能。 类似Android的邮件的删除操作。

  • hellocharts-android
    一个图表库, 带少量动画。

  • ion
    又一个图像异步加载库。至少推荐三个了, 轮子不少。关注度很高

  • AndroidViewHover
    一种优雅的显示上下文和菜单的库

  • MaterialSettings
    可以让你轻松创建Material Design风格的Settings Activity的库。
  • android-pulltorefresh
    又一个拖动刷新的组件。到此为止说了好多又了。 因为有些功能确实有多个不错的实现。
  • android-undergarment
    抽屉组件。
    集成这个组件非常简单 ,只要在activity的oncreate中加入mDrawerGarment = new DrawerGarment(this, R.layout.dashboard);
  • drag-sort-listview
    在ListItem拖动重排序。 开发者已经放弃维护了但是关注者依然不少。

  • FreeFlow
    comcast出品的一个布局引擎。 FreeFlow让你很容易的定制布局和漂亮的转换动画。
    看到comcast好激动, 因为他是笔者公司最大的客户。

Screenshot
  • DragLayout
    使用support.v4包下的ViewDragHelper实现QQ5.0侧滑
  • pinned-section-listview
    GroupName滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView
  • android-process-button
    很酷的一个组件,可以在按钮下部显示漂亮的进度条,就像GMAIL一样。
  • KugouLayout
    一个模仿酷狗播放器滑动返回的layout,可以让你的app有更丰富便捷的手势操作,支持activity滑动返回和普通layout的滑动显示/隐藏两种模式。
  • Android-Ultra-Photo-Selector
    一个图片选择器控件,支持选择多张图片、浏览设备上所有包含图片的文件夹、预览选择的图片并且支持缩放。
  • fab
    一个支持很多自定义属性的Floating Action Button控件。
  • GraphView
    可以产生放缩的线图和直方图。
  • PullZoomView
    最近国内用的比较多的一个风格。 拖动时头部缩放。
  • ZhihuPaper
    个人开发的知乎日报客户端。
  • material-menu
    模仿Android L的drawer, back, dismiss and check icons动画

类似的 DrawerArrowDrawable

  • ArcMenu
    又一个类似Path的环形菜单。
ScreenShot 01 XY chart
  • LetterImageView
    类似Android的邮件应用, 用首字母作为图片。
  • chromium-webview-samples
    webview例子。

https://github.com/GoogleChrome/chromium-webview-samples
https://developer.chrome.com/multidevice/webview/gettingstarted
http://developer.android.com/guide/webapps/webview.html
http://developer.android.com/reference/android/webkit/WebView.html
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/1010/1569.html


类库

  • roboguice
    google guice框架在Android平台上的实现。 什么事guice? 它是一个类似Spring的IOC框架。 什么是IOC? 算了,你还是先学习Java的基础知识吧。
  • android-async-http
    基于Apache http client实现的支持异步、回调的android http client组件。

  • androidannotations
    将注解引入到Android开发中,极大的减少代码里,可以更好的维护代码。

  • retrofit
    类型安全的Restful client库。

  • dagger
    一个快速的依赖注入库。这个square公司出了不少的组件库。 square公司就是那个移动支付的创业公司。

  • okhttp
    还是square出品, HTTP+SPDY 客户端。

  • EventBus
    一个专为Android优化的发布订阅框架, event bus模式。 可以在Activity, Fragment 和后台线程之间交流数据。

  • butterknife
    专为视图注入库。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class ExampleActivity extends Activity {
@InjectView(R.id.user) EditText username;
@InjectView(R.id.pass) EditText password;

@OnClick(R.id.submit) void submit() {
// TODO call server...
}

@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}
  • robospice
    一个模块化的Android类库, 可以更容易的编写异步的长时间运行的任务。

  • ****
    一个加强的基于Guava event bus库。 square出品。

  • AndroidAsync
    又是异步处理库, 支持socket,http (client+server),websocket 和socket.io ,基于nio。

  • ActiveAndroid
    active record风格的操作Android SQLite 数据库。

  • androidquery
    JQuery很熟悉吧。 这是Android版的JQuery。

  • greenDAO
    一个轻量级的快速的ORM方案。 操作SQLite 数据库。

  • Bolts-Android
    一套底层库。

  • scaloid
    极大的减少Android得代码,更易维护。

  • conceal
    Facebook的快速加密类。

  • android-common
    国人实现的一个工具包。

  • xUtils
    国人实现的一个工具包。

  • android-priority-jobqueue
    Path出品的job queue。

  • android-sqlite-asset-helper
    数据库辅助类。 包括数据库的创建与升级。

  • tape
    一组queue类。 square出品。

  • spring-android
    不多说了。

  • joda-time-android
    为Android做了优化

  • spydroid-ipcamera
    将你的收集作为监控设备。

  • ACRA
    ACRA是一个可以让安卓应用自动发出GoogleDoc格式崩溃报告的函数库。安卓开发者可以通过ACRA获取应用崩溃或者错误行为的数据。如果有一个崩溃发生,你的应用不会越过已有的系统崩溃提醒或者报告功能来添加用户提醒。如果使用Toast、状态提醒条或者直接对话框模式,这个“强制关闭”的对话框不会再显示,就算设备上原生系统的提醒功能开启也不能发送一个另外的报告。

  • jpinyin
    JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。


游戏引擎

  • libgdx
    libGDX是基于OpenGL的跨平台的游戏开发框架。
  • AndEngine
    知名的Android 2D OpenGL 游戏引擎。

  • ogengine
    国人开发的国际著名开源引擎AndEngine的一个分支 (往上看)。遵循LGPL开源协议使用OpenGL ES进行图形绘制。同时集成了Box2D物理引擎,因此可以实现复杂的物理效果。

  • citrus
    快速且轻量级的2D & 3D游戏引擎。


Android HTML5应用

  • PhoneCap
    早在2011年10月,Adobe收购了Nitobi Software和它的PhoneGap产品,然后宣布这个移动开发框架将会继续开源,并把它提交到Apache Incubator,以便完全接受ASF的管治。

  • Cordova
    Cordova是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以把他想象成类似于Webkit和Google Chrome的关系。
    Adobe将会继续以Cordova加上PhoneGap Build和Adobe Shadow的组合提供PhoneGap。 

  • Cordova-SQLitePlugin

1
var db = window.sqlitePlugin.openDatabase({name: "my.db"});
  • awesome-cordova
    Cordova插件列表

  • awesome-cordova
    Cordova插件列表

  • ionic
    基于Cordova的快速创建平台。

  • mui
    国内厂商dcloud开源的一个高性能的html5框架。

    性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页动画、浮动元素的抖动、无法流畅下拉刷新等问题,这些都让HTML5开发者倍感挫败,尤其拿到Android低端机运行,摔手机的心都有; 另一方面,浏览器默认控件样式又少又丑,制作一个漂亮的控件非常麻烦,也有一些制作简单的ui框架但性能低下。
    mui框架有效的解决了这些问题,这是一个可以方便开发出高性能App的框架,也是目前最接近原生App效果的框架。

  • lungo

  • awesome-html5

  • 开源的Javascript游戏引擎
    ** Pixi.js
    ** phaser
    ** MelonJS
    ** kiwi.js
    ** Crafty
    ** PhysicsJS
    ** cutjs
    ** cocos2d

新增加的项目 (from 2015.06)

  • fab-toolbar
    Material Design风格的FAB工具栏效果
  • SeekBarCompat
    SeekBar 的一个Material Design兼容实现,支持到API 16及以上。
  • Bubbles for Android
    像QQ那样可以把联系人头像添加到桌面并显示消息个数的效果。
  • dexposed
    阿里巴巴无线事业部的侵入的运行期AOP框架,基于ROOT社区著名开源项目Xposed改造剥离了ROOT部分,演化为服务于所在应用自身的AOP框架。它支撑了阿里大部分App的在线分钟级客户端bugfix和线上调试能力。

  • WaterDropListView
    拖拉刷新库很多,这一个多了水珠效果。

  • letterpress
    方便使用自定义字体的库

  • ParallaxSwipeBack
    带视觉差的侧滑返回,类似于新版微信和lofter的侧滑返回效果。核心代码小于50行

  • fit-chart
    一个类似Google Fit里环形图表控件
  • LandscapeVideoCamera
    强大的自定义 Android Camera,并且支持细粒度的控制视频质量和文件大小。
莫川写的可定制的SwipeRefreshLayout * [**AndroidScrollingImageView**]() 可以实现视差滚动动画的ImageView。
  • easyfonts
    一个方便你在App里使用自定义字体的库。
  • FAB-Loading
    在Floating Action Button上实现了loading动画效果。
  • fab-toolbar
    这种风格的组件不止一个了。点击fab可以展开
  • FabricView
    A new canvas drawing library for Android. Aims to be the Fabric.js for Android. Supports text, images, and hand/stylus drawing input.
  • android-vertical-slide-view
    仿照淘宝和聚美优品,在商品详情页,向上拖动时,可以加载下一页。使用ViewDragHelper,滑动比较流畅。
  • GestureViews
    ImageView and FrameLayout with gestures control and position animation
  • PinchImageView
    图片手势控件,不同分辨率无缝切换,可与ViewPager结合使用。
  • extViewForFullHtml
    TextViewForFullHtml是对原生TextView解析Html格式文本的增强。
  • *BlurImageView
    一个可以由模糊慢慢渐近显示为清晰图的控件。
  • ****
    鸿洋出品的一个用于app指向性功能高亮的库
  • animate
    提供了丰富动画演示的项目,作者在medium专门写了一篇文章
  • Dexter
    一个简化Runtime Permissions请求的库。Android 6.0的需求
  • Paginate
    可以结合 RecyclerView 或者 AbsListView 创建带页号的功能。
  • AgendaCalendarView
    一款在日历和议事日程间添加简易导航效果的 Android 控件。