美文网首页
Android 主流UI开源库整理

Android 主流UI开源库整理

作者: 猿ape | 来源:发表于2017-10-17 14:00 被阅读0次

    Android主流UI开源库整理(转载)

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

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

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

    https://github.com/Trinea/android-open-project

    囊括了非常多的、各式各样的开源项目,包括但不限于UI、工具类库等。

    https://github.com/wasabeef/awesome-android-ui

    囊括了非常多的、各种类型的UI开源库。

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

    主流UI分类

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

    按钮

    Switch(开关)

    编辑框(类EditText)

    文本控件(类TextView)

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

    拖动条(类SeekBar)

    RatingBar

    列表、网格、瀑布流控件

    对话框(Dialog、BottomSheet等)

    日历、时间选择

    分类筛选

    角标、徽章

    图表

    富文本编辑、代码高亮等

    图片展示(类ImageView)

    标签组控件(类FlowLayout)

    App新手引导、高亮

    侧边栏索引、固定Header

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

    通用下拉刷新、加载更多

    广告轮播、垂直公告

    滑动返回(类SwipeBack)

    指示器、Tab

    动画相关库

    侧滑菜单(类SlidingMenu)

    辅助类库

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

    主流UI开源库

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

    按钮

    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

    带有弹性效果的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/daimajia/NumberProgressBar

    代码家大牛的作品。

    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/vikramkakkar/SublimePicker

    清爽、漂亮的日历。

    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/diogobernardino/WilliamChart

    富文本编辑、代码高亮等

    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/amlcurran/ShowcaseView

    老牌的引导高亮库。

    https://github.com/KeepSafe/TapTargetView

    Material Design风格的高亮库。

    https://github.com/hongyangAndroid/Highlight

    一个引导高亮的库,来自鸿洋

    https://github.com/jaydenxiao2016/HighLightGuideView

    又一个引导高亮库。

    https://github.com/matrixxun/ProductTour

    非常酷的引导页效果。

    https://github.com/rahulrj/YahooNewsOnboarding

    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/linroid/FilterMenu

    一个转盘式菜单。

    https://github.com/ShamylZakariya/FlyoutMenus

    一个很酷的弹出菜单。

    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/H07000223/FlycoBanner_Master

    又一个广告轮播控件。

    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/H07000223/FlycoTabLayout

    https://github.com/ogaclejapan/SmartTabLayout

    https://github.com/romandanylyk/PageIndicatorView

    支持多种小圈小点的指示器。

    https://github.com/ongakuer/CircleIndicator

    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/jfeinstein10/SlidingMenu

    老牌的侧滑菜单。

    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开源库整理

          本文链接:https://www.haomeiwen.com/subject/zxrduxtx.html