騰訊開源的Android UI框架——QMUI Android


各位同學,早上好,我是你們的老朋友D_clock愛吃蔥花,前些天忙着發版本,最近也在看各種各樣的新知識,有好多東西想寫啊啊啊啊啊。嗯,先冷靜捋一下,賣個關子。扯回正題,今天繼續為大家推薦一個Github上的開源框架——QMUI Android,出品自騰訊廣州研發部QMUI團隊。

https://github.com/QMUI

如果是做Web開發的同學,應該會很熟悉QMUI所開源的QMUI Web框架,我之前也是因為弄一個Web頁的問題,知道了QMUI Web,然后才了解到QMUI這個團隊,前段時間發現他們新開源了QMUI Android這個框架,覺得還蠻接地氣的,索性一直暗中觀察,今天就來簡單介紹下它。並且據官網介紹,目前該項目已經支持了QQ郵箱和微信讀書。

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

QMUI Android是什么?

以下是官方在Github的README中給出的介紹:

QMUI Android的設計目的是用於輔助快速搭建一個具備基本設計還原效果的Android項目,同時利用自身提供的豐富控件及兼容處理,讓開發者能專注於業務需求而無需耗費精力在基礎代碼的設計上。不管是新項目的創建,或是已有項目的維護,均可使開發效率和項目質量得到大幅度提升。

簡單的說,它就是一個封裝完善的Android UI組件庫,使用它可以解決你很多日常開發需求的UI問題。目前,它主要包含以下兩個部分:

  • UI控件:BottomSheet、Tab、圓角 ImageView、下拉刷新等,使用方便靈活,並且支持自定義控件的樣式;

  • 常用工具類:如設備信息、屏幕信息、鍵盤管理、狀態欄管理等;

引入工程中使用也非常簡單,參照官方配置文檔的手把手教學即可Happy Coding!

0?wx_fmt=png

官方配置文檔:http://qmuiteam.com/android/page/start.html

經過一小段時間的體驗之后,我總結了以下幾個亮點分享一下。

常見UI效果封裝

QMUI Android中提供了很多常見使用的UI效果封裝,比如下面這些:

1、QMUIDialog:它提供了一系列常用的對話框,解決了使用系統默認對話框時在不同 Android 版本上的表現不一致的問題。

0?wx_fmt=gif

並且可以使用不同的Builder來構建不同類型的對話框,這些Builder都擁有設置title和添加底部按鈕的功能。

2、QMUIGroupListView:通用的列表,常用於App的設置界面,由於它的父類不是ListView而是LinearLayout,所以,需要配合ScrollView使用。並且它還提供了一個Section的概念對列表進行分塊,按照官方的介紹可以配合其所提供的QMUIGroupListView.Section, QMUICommonListItemViewQMUIGroupListSectionHeaderFooterView使用。

0?wx_fmt=gif

3、QMUIFloatLayout:類似CSS中的浮動布局,從左到右排列子View並自動換行,同時還提供控制子View之間的垂直/水平間距和水平對齊方向、限制子View個數或行數等特性。

0?wx_fmt=gif

4、除了以上一些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 小程序?哈哈,隨意腦洞下一下。覺得文章不錯的同學,可以幫忙轉發、點贊支持哦。

之前的精彩文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM