http://www.jianshu.com/p/47a4a7b99364

标题隐含了两个层面的意思,一个是主流,另一个是UI。主流既通用,一些常规的按钮、Switch、进度条等控件都是通用控件,因此本文将其囊括,但一些很炫酷但不通用的控件除外。UI不仅包括控件,还包括效果、动画甚至是一些UI辅助类库等。

网上有不少对开源项目进行整理的文章,以下两个最为知名:

  1. https://github.com/Trinea/android-open-project
    囊括了非常多的、各式各样的开源项目,包括但不限于UI、工具类库等。

  2. https://github.com/wasabeef/awesome-android-ui
    囊括了非常多的、各种类型的UI开源库。

本文的取材大部分来自这两篇文章,在此感谢文章作者的辛勤付出。更要感谢的是那些无私奉献代码的Opener。

主流UI分类


既然是整理,那先得有一个分类,分类如下:

  1. 按钮

  2. Switch(开关)

  3. 编辑框(类EditText)

  4. 文本控件(类TextView)

  5. 进度条(圈)等展示进度相关

  6. 拖动条(类SeekBar)

  7. RatingBar

  8. 列表、网格、瀑布流控件

  9. 对话框(Dialog、BottomSheet等)

  10. 日历、时间选择

  11. 分类筛选

  12. 角标、徽章

  13. 图表

  14. 富文本编辑、代码高亮等

  15. 图片展示(类ImageView)

  16. 标签组控件(类FlowLayout)

  17. App新手引导、高亮

  18. 侧边栏索引、固定Header

  19. 菜单(类Menu,但不包括侧滑菜单)

  20. 通用下拉刷新、加载更多

  21. 广告轮播、垂直公告

  22. 滑动返回(类SwipeBack)

  23. 指示器、Tab

  24. 动画相关库

  25. 侧滑菜单(类SlidingMenu)

  26. 辅助类库

目前想到的通用控件种类就这么多,如有遗漏,欢迎指正哈。

主流UI开源库


以下是对上述分类的一一展开。我会列出每个分类下的热门开源项目,并适当的给出介绍。这些项目按照我所认为的通用性降序排列,排在越前面的说明通用性、实用性越高,但并不代表star就越多。有些项目有几千个star,效果看起来也很酷,但通用性很差,显得有些鸡肋,就靠后排列了,甚至介绍都免了。

按钮

Switch(开关)

编辑框(类EditText)

文本控件(类TextView)

进度条(圈)等展示进度相关

拖动条(类SeekBar)

RatingBar

列表、网格、瀑布流控件

对话框(Dialog、BottomSheet等)

日历、时间选择

分类筛选

角标、徽章

图表

富文本编辑、代码高亮等

图片展示(类ImageView)

标签组控件(类FlowLayout)

App新手引导、高亮

侧边栏索引、固定Header

菜单(类Menu,但不包括侧滑菜单)

通用下拉刷新、加载更多

广告轮播、垂直公告

滑动返回(类SwipeBack)

指示器、Tab

动画相关库

侧滑菜单(类SlidingMenu)

辅助类库

文/hackware(简书作者)
原文链接:http://www.jianshu.com/p/47a4a7b99364
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

Android主流UI开源库整理(转载)的更多相关文章

  1. Android(常用)主流UI开源库整理

    这几天刚做完一个项目..有点空余时间,就想着吧这一两年做的项目中的UI界面用到的一些库整理一下.后来想了一下,既然要整理,就把网上常用的 AndroidUI界面的主流开源库 一起整理一下,方便查看. ...

  2. android UI开源库

    . ActionBarSherlock ActionBarSherlock是一个独立的Android设计库,可以让Android 2.x的系统也能使用ActionBar.此 外,ActionBarSh ...

  3. Android强大的开源库与系统架构工具

    后来加上的,因为太强大了,android上百个可立即使用的开源库介绍:https://github.com/Trinea/android-open-project 一款功能强大且实用的开发工具可以为开 ...

  4. Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作

    我们做listview左右滑动操作时,一般中情况下,都是像QQ那样,左滑弹出操作菜单(删除.编辑),然后选择菜单操作: 这样的效果不可谓不好,算是非常经典. 另外,有少数的APP,尤其是任务管理类的A ...

  5. Android Library 发布开源库 JCenter & JitPack 攻略

    对于Android 的开源库,一般通过 JCenter 或者 JitPack 发布开源.两种方式均可~ 当你造了一个好玩有用的东西想要分享给大家时,开源出来便是一种好方式~ 一. 上传开源库到 JCe ...

  6. android WebP解析开源库-支持高清无损

    在我们的项目中需要支持WebP高清无损图片,推荐一个我们已经使用的解析开源库给大家:https://github.com/keshuangjie/WebpExample/tree/master/lib ...

  7. Android 优秀的开源框架整理

    第一部分:系统架构 thinkAndroid https://github.com/white-cat/ThinkAndroid ThinkAndroid是一个免费的开源的.简易的.遵循Apache2 ...

  8. Android 开发:开源库Speex支持arm64的动态库文件

    随着处理器制造工艺的不断进步,和Android系统的不断发展,最近出了arm64-v8a的架构,由于项目中用到了speex的第三方语音编解码的动态库,其他架构的处理器暂不用说,一切正常,唯独到arm6 ...

  9. Android常用优秀开源框架整理

    前言 AOSF:全称为Android Open Source Framework,即Android优秀开源框架汇总.包含:网络请求okhttp,图片下载glide,数据库greenDAO,链式框架Rx ...

随机推荐

  1. wdcp 打开网页显示 Apache 2 Test Page powered by CentOS

    是因为更新过系统,安装并更新了系统自带的apache 执行这个命令即可 #ln -sf /www/wdlinux/init.d/httpd /etc/rc.d/init.d/httpd#reboot

  2. CodeForces 688E-The Values You Can Make

    题意: 给出n,k,分别代表硬币的数量与巧克力的价格,n个整数c1,c2,...ci...cn(ci代表第i块硬币的值);你可以从n块硬币中拿出金额恰好为k的硬币数并将其中的任意两块硬币组合得到一个数 ...

  3. eclipse快捷键用不了

    ctrl+shift+R是eclipse最常用的快捷键之一,用于打开资源,输入文件名或文件名中的前几个字母,就可以打开工作区中任意文件 今天在打开eclipse,使用该快捷键时,提示“该快捷方式所指向 ...

  4. bzero函数

    函数原型:void bzero(void *s,int n) 作用:bzero函数的作用是将s指针指向的地址的前n个字节清零. 头文件:#include <string.h> eg.

  5. Jmeter—5 关联 响应数据传递-正则表达式提取器

    在测试过程中,遇到一个问题:用户登录成功后服务器会返回一个登录凭证,之后所有的操作都需要带上此凭证.我们怎么获取登录凭证并传递给后续的操作? Jmeter提供了正则表达式提取器,用变量提取参数,后续通 ...

  6. php大力力 [041节] 今天没有写日志哈

    php大力力 [041节]  今天没有写日志哈  如何下拉,左边的side颜色  能顺延下去?? 今天做了一个表格显示

  7. javaweb--上传文件使用灵活的自定义添加

    //upload2.jsp <%@ page language="java" import="java.util.*" pageEncoding=&quo ...

  8. ibeacon的使用和应用场景简单示例

    目的,用ibeacon实现签到功能,不需要太严谨,只是试水. 拿到ibeacon的第一感觉是,这东西能用嘛,2-3年的电池,后面商家说是用个3M双面胶找个地方一贴就行,感觉不太靠谱,嘿嘿,在网上找了一 ...

  9. 标准库中的-stack

    #include <sequence_concepts.h> __STL_BEGIN_NAMESPACE // Forward declarations of operators == a ...

  10. python windows终端窗口下输出编码错误

    windows简体中文版下终端默认字符集gbk,执行chcp 65001临时修改字符集. 修改默认字符集:注册表HKEY_CURRENT_USER\Console项中CodePage值修改为65001