腾讯开源的Android UI框架——QMUI Android

各位同窗,早上好,我是大家的老朋友D_clock爱吃葱花,前些天忙着发版本,最近也在看各类各样的新知识,有好多东西想写啊啊啊啊啊。嗯,先冷静捋一下,卖个关子。扯回正题,今天继续为你们推荐一个Github上的开源框架——QMUI Android,出品自腾讯广州研发部QMUI团队。html

https://github.com/QMUIandroid

若是是作Web开发的同窗,应该会很熟悉QMUI所开源的QMUI Web框架,我以前也是由于弄一个Web页的问题,知道了QMUI Web,而后才了解到QMUI这个团队,前段时间发现他们新开源了QMUI Android这个框架,以为还蛮接地气的,索性一直暗中观察,今天就来简单介绍下它。而且据官网介绍,目前该项目已经支持了QQ邮箱和微信读书。git

640?wx_fmt=png&wxfrom=5&wx_lazy=1

QMUI Android是什么?

如下是官方在Github的README中给出的介绍:github

QMUI Android的设计目的是用于辅助快速搭建一个具有基本设计还原效果的Android项目,同时利用自身提供的丰富控件及兼容处理,让开发者能专一于业务需求而无需耗费精力在基础代码的设计上。不论是新项目的建立,或是已有项目的维护,都可使开发效率和项目质量获得大幅度提高。面试

简单的说,它就是一个封装完善的Android UI组件库,使用它能够解决你不少平常开发需求的UI问题。目前,它主要包含如下两个部分:小程序

  • UI控件:BottomSheet、Tab、圆角 ImageView、下拉刷新等,使用方便灵活,而且支持自定义控件的样式;微信

  • 经常使用工具类:如设备信息、屏幕信息、键盘管理、状态栏管理等;app

引入工程中使用也很是简单,参照官方配置文档的手把手教学便可Happy Coding!框架

0?wx_fmt=png

官方配置文档:http://qmuiteam.com/android/page/start.html工具

通过一小段时间的体验以后,我总结了如下几个亮点分享一下。

常见UI效果封装

QMUI Android中提供了不少常见使用的UI效果封装,好比下面这些:

一、QMUIDialog:它提供了一系列经常使用的对话框,解决了使用系统默认对话框时在不一样 Android 版本上的表现不一致的问题。

0?wx_fmt=gif

而且可使用不一样的Builder来构建不一样类型的对话框,这些Builder都拥有设置title和添加底部按钮的功能。

二、QMUIGroupListView:通用的列表,经常使用于App的设置界面,因为它的父类不是ListView而是LinearLayout,因此,须要配合ScrollView使用。而且它还提供了一个Section的概念对列表进行分块,按照官方的介绍能够配合其所提供的QMUIGroupListView.Section, QMUICommonListItemViewQMUIGroupListSectionHeaderFooterView使用。

0?wx_fmt=gif

三、QMUIFloatLayout:相似CSS中的浮动布局,从左到右排列子View并自动换行,同时还提供控制子View之间的垂直/水平间距和水平对齐方向、限制子View个数或行数等特性。

0?wx_fmt=gif

四、除了以上一些UI效果以外,还有诸如进度条效果(QMUIProgressBar)、下拉刷新(QMUIPullRefreshLayout)、相似于PopupWindow的悬浮弹层(QMUIPopupQMUIListPopup)、加载中的等待效果(QMUILoadingView)等等还有好多。

加强富文本

QMUI Android中提供了不少自定义的Span来帮你解决各类富文本的问题,如:QMUIBlockSpaceSpanQMUICustomTypefaceSpanQMUIAlignMiddleImageSpanQMUIMarginImageSpanQMUITextSizeSpanQMUITouchableSpan等。

0?wx_fmt=gif

还有为文字和表情混排提供支持的QMUIQQFaceViewQMUIQQFaceCompilerIQMUIQQFaceManager,并且相比系统自带的ImageSpan实现,QMUI还作了必定的优化工做,具体能够对比效果图中的expend time(由于录制gif图因此没滑动太快,正常状况下,这个性能差距会更大)。

QMUIQQFaceView实现效果 QMUIQQFaceView和默认ImageSpan性能比对

0?wx_fmt=gif

0?wx_fmt=gif

而且,还提供了支持垂直排版文字的QMUIVerticalTextView,以及QMUISpanTouchFixTextView修复了原生TextView和ClickableSpan一块儿使用时的一些的bug。

QMUIVerticalTextView QMUISpanTouchFixTextView

0?wx_fmt=gif

0?wx_fmt=gif

简直不要太爽。

工具类

工具类的话,也有很多,官方给的文档言简意赅,给你们截图好了。

0?wx_fmt=png

0?wx_fmt=png

这些工具类,在日常开发中都是很实用的。

不足

介绍完以上几大亮点,最后再说点我的以为惟一的不足之处,就是若是QMUI Android的文档能像QMUI Web同样完善,那就更好了。

期待

总的来讲,QMUI Android的发展仍是蛮值得继续期待,哦,对了,iOS也有对应的QMUI iOS哦。

0?wx_fmt=png

不知道后面会不会出现QMUI RN?QMUI 小程序?哈哈,随意脑洞下一下。以为文章不错的同窗,能够帮忙转发、点赞支持哦。

以前的精彩文章