2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 腾讯 android ui 腾讯开源的Android UI框架——QMUI Android

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

时间:2019-04-19 05:56:04

相关推荐

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

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

/QMUI

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

QMUI Android是什么?

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

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

简单的说,它就是一个封装完善的Android UI组件库,使用它可以解决你很多日常开发需求的UI问题。目前,它主要包含以下两个部分:

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

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

引入工程中使用也非常简单,参照官方配置文档的手把手教学即可Happy Coding!

官方配置文档:/android/page/start.html

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

常见UI效果封装

QMUI Android中提供了很多常见使用的UI效果封装,比如下面这些:

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

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

2、QMUIGroupListView:通用的列表,常用于App的设置界面,由于它的父类不是ListView而是LinearLayout,所以,需要配合ScrollView使用。并且它还提供了一个Section的概念对列表进行分块,按照官方的介绍可以配合其所提供的QMUIGroupListView.Section, QMUICommonListItemView、QMUIGroupListSectionHeaderFooterView使用。

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

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

增强富文本

QMUI Android中提供了很多自定义的Span来帮你解决各种富文本的问题,如:QMUIBlockSpaceSpan、QMUICustomTypefaceSpan、QMUIAlignMiddleImageSpan、QMUIMarginImageSpan、QMUITextSizeSpan、QMUITouchableSpan等。

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

QMUIQQFaceView实现效果

QMUIQQFaceView和默认ImageSpan性能比对

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

QMUIVerticalTextView

QMUISpanTouchFixTextView

简直不要太爽。

工具类

工具类的话,也有不少,官方给的文档言简意赅,给大家截图好了。

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

不足

介绍完以上几大亮点,最后再说点个人觉得唯一的不足之处,就是如果QMUI Android的文档能像QMUI Web一样完善,那就更好了。

期待

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

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

之前的精彩文章

Android UI设计系统-android selector 开始自定义样式

Selector的结构描述: <?xml version="1.0" encoding="utf-8"?>

Android UI框架基本概念

Activity:基本的页面单元,Activity包含一个Window,window上可以绘制各种view View:最基本的UI组件,表示屏幕上的一个矩形区域: Window:表示顶层窗口,管理界面 ...

各种Android UI开源框架 开源库

各种Android UI开源框架 开源库 转/zhangdi_gdk/article/details/84643668 自己总结的Android开源 ...

Android UI Design

Ref:直接拿来用!10款实用Android UI工具 Ref:Android UI设计资源 Ref:Android酷炫实用的开源框架(UI框架) Ref:Android UI 组件 Ref:Andr ...

详解 &OpenCurlyDoubleQuote;Android UI”设计官方教程

我们曾经给大家一个,同时很多朋友都在寻找Android UI开发的教程,我们从Android的官方开发者博客找了一份幻灯片,介绍了一些Andr ...

【推荐】HTML5 UI框架 推荐

笔者的男装网店: .冬装,在寒冷的冬季温暖你.新品上市,环境选购 最近自己瞎搞一下web网页的东西.想开发先找资源. 整理了一下HTML5 ...

十二、Android UI开发专题&lpar;转&rpar;

/cmdn/bbs/viewthread.php?tid=18736&page=1#pid89255Android UI开发专题(一) 之界面设计 近期很 ...

随机推荐

Go语言执行流程

Go执行流程 如果是对源代码编译后,再执行,Go的执行流程如下图 go build生成的可执行文件会在当前目录内 如果是对源代码直接执行go run 源文件操作,Go的执行流程如下图 两种执行流程的方 ...

Hybrid小程序混合开发之路 - 数据交互

HTML+CSS是历史悠久.超高自由度.控制精准.表现能力极强.编码简单.学习门槛超低.真跨平台的一种UI界面开发方式. 本文介绍的是微信小程序和H5混合开发的一种数据交互方式. 很多应用在原生界面中 ...

通俗讲解 异步,非阻塞和 IO 复用

1. 阅前热身 为了更加形象的说明同步异步.阻塞非阻塞,我们以小明去买奶茶为例. 1.1 同步与异步 同步与异步的理解 同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式.同步: 当一个同 ...

H5离线缓存技术Application Cache

H5离线缓存技术Application Cache 1.离线缓存技术:是浏览器本身的一种机制 HTML5引入Application Cache(应用程序缓存)技术,离线存储可以将站点的一些文件存储在本 ...

自定义data-&ast;

HTML5的自定义属性data-*详细介绍和JS操作实例 < div id="user" data-id="123456" data-name=&quot ...

Laravel安装教程

1.Call to undefined function Illuminate\Encryption\openssl_cipher_iv_length() 报这个错是因为Apache/bin目录下l ...

string 和 wstring

区别: char* wchar_t 一个字节 两个字节 ACSII编码 unicode编码 转换: 1.Windows API WideCharToMultiByte() MultiByteToWid ...

memcache使用经历

memcache可以看成是一个大内存库,因为可以集群,所以可以看成是无限大的内存库.既然是内存库,那么我们放的就是一些map了.map里就键值对,虽然内存可以通过集群的方式无限扩展,但单个键值对的大小 ...

SGU 258 Almost Lucky Numbers 接近幸运数(数位DP)

题意: 定义一个具有2n位的正整数,其前n位之和与后n位之和相等,则为lucky数.给定一个区间,问有多少个正数可以通过修改某一位数从而变成lucky数?注意不能含前导0. 思路: 我的想法是记录那些 ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。