Android(常用)主流UI开源库整理
这几天刚做完一个项目。。有点空余时间,就想着吧这一两年做的项目中的UI界面用到的一些库整理一下。后来想了一下,既然要整理,就把网上常用的 AndroidUI界面的主流开源库 一起整理一下,方便查看。
这次整理包涵一些常规的按钮、Switch、进度条等控件都是通用控件,因此本文将其囊括,但一些很炫酷但不通用的控件除外。UI不仅包括控件,还包括效果、动画甚至是一些UI辅助类库等。
1、(https://github.com/Trinea/android-open-project)
2、(https://github.com/wasabeef/awesome-android-ui)
3、(http://www.jianshu.com/p/47a4a7b99364)
本文的取材大部分来自这三篇文章,在此感谢文章作者的辛勤付出。更要感谢的是那些无私奉献代码的Opener。
主流UI开源库整理
一下是针对一些热门 控件、开源项目做出一些介绍,有些项目效果看起来也很酷,但通用性很差,显得有些鸡肋,就靠后排列了,甚至介绍都免了。
Button(按钮)
https://github.com/hoang8f/android-flat-button
很适合做扁平化、纯色的按钮,支持阴影。https://github.com/Bearded-Hen/Android-Bootstrap
BootStrap风格的按钮,做过前端的同学应该都知道。https://github.com/dmytrodanylyk/circular-progress-button
可以显示进度的按钮,适用于点击按钮后执行一个长时间操作,此时可直接在按钮上显示进度。- https://github.com/dmytrodanylyk/android-process-button
可以显示进度的按钮。同上。
Switch(开关)
https://github.com/kyleduo/SwitchButton
各式各样风格的Switch,总有一个适合你。https://github.com/Nightonke/JellyToggleButton
BootStrap带有弹性效果的Switch。
编辑框(类EditText)
https://github.com/rengwuxian/MaterialEditText
Material Design风格的EditText。https://github.com/mabbas007/TagsEditText
以标签形式展示的EditText。https://github.com/g707175425/CloudEditText
以标签形式展示的EditText。https://github.com/vekexasia/android-edittext-validator
带错误校验和提示的EditText。https://github.com/qinci/AndroidEdit
为EditText提供撤销、反撤销功能。
文本控件(类TextView)
https://github.com/Manabu-GT/ExpandableTextView
可折叠的TextView,类似朋友圈查看全文。https://github.com/grantland/android-autofittextview
自适应的TextView,在宽高固定的情况下,文字越多,字体越小。https://github.com/rockerhieu/emojicon
支持emoji表情的TextView。https://github.com/hanks-zyh/HTextView
支持很多文本特效的TextView,很赞。
进度条(圈)等展示进度相关
https://github.com/DreaminginCodeZH/MaterialProgressBar
Material Design风格的ProgressBar,支持多种效果。https://github.com/hongyangAndroid/Android-ProgressBarWidthNumber
鸿洋大牛的作品,值得拥有。https://github.com/lopspower/CircularProgressBar
很实用的进度条,虽然只有一种效果。https://github.com/dinuscxj/LoadingDrawable
各式各样创意、风格奇特的进度条。https://github.com/akexorcist/Android-RoundCornerProgressBar
一个圆乎乎的、多彩的进度条。
拖动条(类SeekBar)
https://github.com/AnderWeb/discreteSeekBar
拖拽时可显示气泡提示的SeekBar。https://github.com/oli107/material-range-bar
Material Design风格的、支持区间选取的SeekBar。
RatingBar
- https://github.com/DreaminginCodeZH/MaterialRatingBar
Material Design风格的RatingBar。
列表、网格、瀑布流控件
RecyclerView
这个就不用解释了,使用请参考Android RecyclerView 使用完全解析 体验艺术般的控件。对于列表、网格的拖拽排序、侧滑删除,推荐使用RecyclerView来做,可参考https://github.com/YoKeyword/ItemTouchHelperDemo。
对话框(Dialog、BottomSheet等)
https://github.com/H07000223/FlycoDialog_Master
一套强大的Dialog集合,提供了类似BottomSheet的效果。https://github.com/afollestad/material-dialogs
功能强大、支持各式各样风格的Dialog。https://github.com/drakeet/MaterialDialog
一套Material Design风格的对话框。https://github.com/orhanobut/dialogplus
实现对话框的另一种选择。
日历、时间选择
https://github.com/philliphsu/BottomSheetPickers
非常不错的日历、时间选择控件。https://github.com/wdullaer/MaterialDateTimePicker
Material Design风格的日历、时间选择器。https://github.com/borax12/MaterialDateRangePicker
效果和MaterialDateTimePicker几乎一样,不知道是不是抄的,提供了日历、时间区间的选择。https://github.com/traex/CalendarListview
基于ListView,效果类似原生android的日历。https://github.com/square/android-times-square
来自square的日历选择器。
分类筛选
- https://github.com/dongjunkun/DropDownMenu
一个实用的多条件筛选菜单。
角标、徽章
https://github.com/HeZaiJin/SlantedTextView
用TextView实现的标签效果,值得一试。https://github.com/stefanjauker/BadgeView
给特定的View添加角标效果。https://github.com/leolin310148/ShortcutBadger
用来生成带有角标的图标。
图表
https://github.com/xcltapestry/XCL-Charts
支持数十种图表,总有一个适合你。https://github.com/lecho/hellocharts-android
功能强大、支持各式各样的图表控件。https://github.com/PhilJay/MPAndroidChart
强大、易于使用的图表控件。
富文本编辑、代码高亮等
https://github.com/wasabeef/richeditor-android
功能强大的富文本编辑器。https://github.com/mthli/Knife
轻量级的富文本编辑器。https://github.com/Thereisnospon/CodeView
强大的代码高亮控件,支持多种语言。
图片展示(类ImageView)
https://github.com/chrisbanes/PhotoView
强大的、人尽皆知的图片浏览控件。https://github.com/hdodenhof/CircleImageView
用来显示圆角图片的ImageView。https://github.com/siyamed/android-shape-imageview
将图片按照自定义的形状显示。https://github.com/amulyakhare/TextDrawable
以Drawable的形式显示字符,类似平时见到的“字符”头像。https://github.com/chengdazhi/StyleImageView
能实现简单的图像处理的ImageView。
标签组控件(类FlowLayout)
https://github.com/BelooS/ChipsLayoutManager
基于RecyclerView实现的标签控件。https://github.com/hongyangAndroid/FlowLayout
鸿洋大牛的作品,支持单选、多选。
App新手引导、高亮
https://github.com/hongyangAndroid/Highlight
一个引导高亮的库,来自鸿洋。https://github.com/jaydenxiao2016/HighLightGuideView
又一个引导高亮库。https://github.com/matrixxun/ProductTour
非常酷的引导页效果。https://github.com/sacot41/SCViewPager
https://github.com/paolorotolo/AppIntro
一个比较炫酷的引导页框架。
侧边栏索引、固定Header
https://github.com/beworker/pinned-section-listview
固定Header的ListView。https://github.com/emilsjolander/StickyListHeaders
老牌的、固定Header的ListView。https://github.com/timehop/sticky-headers-recyclerview
固定Header的RecyclerView。支持横向、纵向。
菜单(类Menu,但不包括侧滑菜单)
https://github.com/futuresimple/android-floating-action-button
大名鼎鼎的fab。https://github.com/ogaclejapan/ArcLayout
弧形菜单,支持多种效果。https://github.com/oguzbilgener/CircularFloatingActionMenu
炫酷的弧形菜单,支持自定义动画。
通用下拉刷新、加载更多
https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh
廖祜秋大牛的下拉刷新框架,支持对任意View做下拉刷新,也仅限于做下拉刷新。SwipeRefreshLayout
官方的、Material Design风格的下拉刷新框架。https://github.com/chrisbanes/Android-PullToRefresh
老牌的下拉刷新框架,已废弃。那些只能对特定View做下拉刷新、上拉加载的非通用框架就不贴了。
广告轮播、垂直公告
https://github.com/saiwu-bigkoo/Android-ConvenientBanner
基于ViewPager的广告轮播控件,支持循环滚动。https://github.com/sfsheng0322/MarqueeView
基于ViewFlipper的垂直公告控件。
滑动返回(类SwipeBack)
https://github.com/ikew0ng/SwipeBackLayout
老牌的滑动返回框架,需要结合透明主题,Activity不宜过多,否则卡顿严重。https://github.com/YoKeyword/SwipeBackFragment
支持滑动返回的Fragment。https://github.com/XBeats/and_swipeback
另一个滑动返回框架,无需设置透明主题。
指示器、Tab
https://github.com/hackware1993/MagicIndicator
强大、可定制、易扩展的 ViewPager 指示器框架。https://github.com/romandanylyk/PageIndicatorView
支持多种小圈小点的指示器。- TabLayout
总所周知的Tab框架,唯一的优势是来自官方。
动画相关库
https://github.com/wasabeef/recyclerview-animators
一系列RecyclerView Item动画合集。https://github.com/nhaarman/ListViewAnimations
一系列ListView Item动画合集。已废弃,推荐使用RecyclerView。https://github.com/daimajia/AndroidViewAnimations
老牌的View动画合集。来自代码家https://github.com/gabrielemariotti/RecyclerViewItemAnimators
又一个ReyclerView Item动画合集。https://github.com/lgvalle/Material-Animations
一系列Material Design风格的动画合集。https://github.com/jfeinstein10/JazzyViewPager
一系列的PageTransformer合集。https://github.com/JakeWharton/NineOldAndroids
动画兼容库,用来在2.3及以下系统上使用属性动画,现已废弃。
侧滑菜单(类SlidingMenu)
DrawerLayout
官方的侧滑菜单,功能强大。https://github.com/daimajia/AndroidSwipeLayout
一般用来实现View内部的侧滑。
辅助类库
ItemTouchHelper
用来实现RecyclerView侧滑删除、拖拽排序的工具类。https://github.com/rubensousa/RecyclerViewSnap
让RecyclerView具备类似ViewPager的效果。ViewDragHelper
处理View拖拽的神器,使用参考Android ViewDragHelper完全解析 自定义ViewGroup神器。Scroller
用于实现View的平滑滚动,使用参考Android Scroller完全解析,关于Scroller你所需知道的一切。
先写这么多,之后会不定期添加更新
Android(常用)主流UI开源库整理的更多相关文章
- Android主流UI开源库整理(转载)
http://www.jianshu.com/p/47a4a7b99364 标题隐含了两个层面的意思,一个是主流,另一个是UI.主流既通用,一些常规的按钮.Switch.进度条等控件都是通用控件,因此 ...
- Android非常有用的开源库介绍整理
Android开源库 自己一直很喜欢Android开发,就如博客副标题一样,我想做个好的App. 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者,而且我会 ...
- iOS项目中常用的第三方开源库
1.项目使用的第三方开源库 项目使用了CocoaPods(类似java中的maven)管理常用的第三方库,一些特殊的单独引用,下面介绍下比较好用的几个. (1)AFNetworking 目前比较推荐的 ...
- React Native常用的第三方开源库
记录一下自己暂目前了解和使用的一些开源库和官方文档和优秀博客介绍,希望对你有帮助☺️: 1.Toast: https://github.com/magicismight/react-native-ro ...
- android UI开源库
. ActionBarSherlock ActionBarSherlock是一个独立的Android设计库,可以让Android 2.x的系统也能使用ActionBar.此 外,ActionBarSh ...
- Android开发项目中常用到的开源库
圆形头像 https://github.com/hdodenhof/CircleImageView ButterKnife https://github.com/JakeWharton/butterk ...
- go语言常用开源库整理
框架 https://github.com/go-martini/martini 图形验证码 https://github.com/dchest/captcha ORM https://github. ...
- 转:常用的iOS开源库和第三方组件
1.通过CocoaPods安装:
- 总结一些Android好用的开源库
1.android-viewFlow https://github.com/pakerfeldt/android-viewflow 2. android-viewbadger https://gith ...
随机推荐
- 精通awk系列(8):awk划分字段的3种方式
回到: Linux系列文章 Shell系列文章 Awk系列文章 详细分析awk字段分割 awk读取每一条记录之后,会将其赋值给$0,同时还会对这条记录按照预定义变量FS划分字段,将划分好的各个字段分别 ...
- Bootstrap中手指控制轮播图切换
通过手指的滑动来控制轮播图中的图片内容的切换 // 1. 获取手指在轮播图元素上的一个滑动方向(左右) // 获取界面上的轮播图容器 var $carousels = $('.carousel'); ...
- mysql数据库E-R图
学会绘制E-R图 绘制E-R图首先要了解什么是实体,什么是属性,什么是联系. 1.首先实体是指现实世界中具有区分其他事物的特征或属性与其他实体有联系的实体,针对于数据库中的表而言实体是指表中一行一行特 ...
- 并行模式之Master-Worker模式
并行模式之Master-Worker模式 一).Master-Worker模式 作用: 将一个大任务分解成若干个小任务,分发给多个子线程执行. 注: 将大任务分解成小任务,小任务的实现逻辑要相同. 二 ...
- 如何通过swoole加速laravel的问题?
这篇文章主要介绍了关于如何使用swoole加速laravel,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 再来复习一下吧,导致 php 慢的各种因素中解析性语言的特性可以说是罪魁祸首 ...
- ctf线下赛中关闭非法用户shell脚本
linux中三类用户:根用户,虚拟用户,普通用户. 其中普通用户的UID一般介于500-6000之间. #!/bin/bash for uid in $( cat /etc/passwd | cut ...
- Java中父类和子类代码执行顺序
执行顺序:父类静态块-->子类静态块-->父类非静态块-->父类构造方法-->子类非静态块-->子类构造方法 当父类或子类中有多个静态方法时按在代码中的顺序执行 pack ...
- 小白学 Python 爬虫(11):urllib 基础使用(一)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 分布式存储Minio集群环境搭建
MinIO 分布式集群搭建 分布式 Minio 可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务.由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障. Minio 分布式模式可 ...
- 2753:走迷宫(dfs+初剪)//可以说是很水了。。。
总时间限制: 1000ms 内存限制: 65536kB 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走.给定一个迷宫,求从左上角走到右下角最少需要走多少步(数 ...