騰訊開源的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 小程序?哈哈,隨意腦洞下一下。以爲文章不錯的同窗,能夠幫忙轉發、點贊支持哦。

以前的精彩文章

相關文章
相關標籤/搜索