<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          騰訊最新提高項(xiàng)目 UI 開發(fā)效率的解決方案!

          共 6026字,需瀏覽 13分鐘

           ·

          2020-10-25 22:56


          QMUI Android 的設(shè)計(jì)目的是用于輔助快速搭建一個(gè)具備基本設(shè)計(jì)還原效果的 Android 項(xiàng)目,同時(shí)利用自身提供的豐富控件及兼容處理,讓開發(fā)者能專注于業(yè)務(wù)需求而無需耗費(fèi)精力在基礎(chǔ)代碼的設(shè)計(jì)上。不管是新項(xiàng)目的創(chuàng)建,或是已有項(xiàng)目的維護(hù),均可使開發(fā)效率和項(xiàng)目質(zhì)量得到大幅度提升。

          功能特性

          全局 UI 配置

          只需要修改一份配置表就可以調(diào)整 App 的全局樣式,包括組件顏色、導(dǎo)航欄、對(duì)話框、列表等。一處修改,全局生效。

          豐富的 UI 控件

          提供豐富常用的 UI 控件,例如 BottomSheet、Tab、圓角 ImageView、下拉刷新等,使用方便靈活,并且支持自定義控件的樣式。

          高效的工具方法

          提供高效的工具方法,包括設(shè)備信息、屏幕信息、鍵盤管理、狀態(tài)欄管理等,可以解決各種常見場(chǎng)景并大幅度提升開發(fā)效率。

          功能列表

          組件類

          QMUIAnimationListView
          使 ListView 支持添加/刪除 Item 的動(dòng)畫,支持自定義動(dòng)畫效果。

          QMUIBottomSheet
          在 Dialog 的基礎(chǔ)上重新定制了 show() 和 hide() 時(shí)的動(dòng)畫效果, 使 Dialog 在界面底部升起和降下。提供了以下兩個(gè)面板樣式:
          列表樣式:使用 QMUIBottomSheet.BottomListSheetBuilder 生成。
          宮格類型:使用 QMUIBottomSheet.BottomGridSheetBuilder 生成。

          QMUICommonListItemView
          用作通用列表 QMUIGroupListView 里的 Item,也可單獨(dú)使用。支持以下樣式:
          展示一行文字。
          在右側(cè)或下方增加一行說明文字。
          在 item 右側(cè)顯示一個(gè)開關(guān)或箭頭或自定義的View

          QMUIDialog
          提供了一系列常用的對(duì)話框,解決了使用系統(tǒng)默認(rèn)對(duì)話框時(shí)在不同 Android 版本上的表現(xiàn)不一致的問題。使用不同的 Builder 來構(gòu)建不同類型的對(duì)話框,這些 Builder 都擁有設(shè)置 title 和添加底部按鈕的功能,不同的 Builder 特有的作用如下:
          MessageDialogBuilder: 消息類型的對(duì)話框 Builder。通過它可以生成一個(gè)帶標(biāo)題、文本消息、按鈕的對(duì)話框。
          ConfirmMessageDialogBuilder: 帶 Checkbox 的消息確認(rèn)框 Builder。
          EditTextDialogBuilder: 帶輸入框的對(duì)話框 Builder。
          MenuDialogBuilder: 菜單對(duì)話框 Builder。
          CheckableDialogBuilder: 單選類型的對(duì)話框 Builder。
          MultiCheckableDialogBuilder: 多選類型的對(duì)話框 Builder。
          CustomDialogBuilder: 自定義對(duì)話框內(nèi)容區(qū)域的 Builder。
          AutoResizeDialogBuilder: 隨鍵盤升降自動(dòng)調(diào)整 Dialog 高度的 Builder

          QMUIEmptyView
          通用的空界面控件,支持顯示 loading、主標(biāo)題和副標(biāo)題、圖片。

          QMUIFloatLayout
          類似 CSS 里 float: left 的浮動(dòng)布局,從左到右排列子 View 并自動(dòng)換行。支持以下特性:
          控制子 View 之間的垂直/水平間距。
          控制子 View 的水平對(duì)齊方向(左對(duì)齊/居中/右對(duì)齊)。
          限制子 View 的個(gè)數(shù)或行數(shù)。

          QMUIFontFitTextView
          使 TextView 在寬度固定的情況下,文字多到一行放不下時(shí)能縮小文字大小來自適應(yīng)。

          QMUIGroupListView
          通用的列表,常用于 App 的設(shè)置界面,注意其父類不是 ListView 而是 LinearLayout,所以一般要配合 ScrollView 使用。提供了 Section 的概念,用來將列表分塊。配合 QMUIGroupListView.Section, QMUICommonListItemView 和 QMUIGroupListSectionHeaderFooterView 使用。

          QMUIGroupListSectionHeaderFooterView
          用作通用列表 QMUIGroupListView 里每個(gè) Section 的頭部或尾部,也可單獨(dú)使用。

          QMUIItemViewsAdapter
          一個(gè)帶 cache 功能的“列表型數(shù)據(jù)-View”的適配器,適用于自定義 View 需要顯示重復(fù)單元 ListView 的情景,cache 功能主要是保證在需要多次刷新數(shù)據(jù)或布局的情況下(ListView 或 RecycleView 的 itemView)復(fù)用已存在的 View。QMUI 用于 QMUITabSegment 中 Tab 與數(shù)據(jù)的適配。

          QMUIKeyboardHelper
          提供更加便捷的方式針對(duì)給定的 EditText 顯示/隱藏軟鍵盤,并且提供了工具方法判斷鍵盤是否當(dāng)前可見。

          QMUILinkTextView
          使 TextView 能自動(dòng)識(shí)別 URL、電話、郵箱地址,相比 TextView 有以下特點(diǎn):
          可以設(shè)置鏈接的樣式。
          可以設(shè)置鏈接的點(diǎn)擊事件。

          QMUILoadingView
          用于顯示 Loading 的 View,支持顏色和大小的設(shè)置。

          QMUIObservableScrollView
          可以監(jiān)聽滾動(dòng)事件的 ScrollView,并能在滾動(dòng)回調(diào)中獲取每次滾動(dòng)前后的偏移量。

          QMUIPopup
          提供一個(gè)浮層,支持自定義浮層的內(nèi)容,支持在指定 View 的任一方向旁邊展示該浮層,支持自定義浮層出現(xiàn)/消失的動(dòng)畫。

          QMUIListPopup
          繼承自 QMUIPopup,在 QMUIPopup 的基礎(chǔ)上,支持顯示一個(gè)列表。

          QMUIProgressBar
          一個(gè)進(jìn)度條控件,通過顏色變化顯示進(jìn)度,支持環(huán)形和矩形兩種形式,主要特性如下:
          支持在進(jìn)度條中以文字形式顯示進(jìn)度,支持修改文字的顏色和大小。
          可以通過 xml 屬性修改進(jìn)度背景色,當(dāng)前進(jìn)度顏色,進(jìn)度條尺寸。
          支持限制進(jìn)度的最大值。

          QMUIPullRefreshLayout
          下拉刷新控件。支持自定義 RefreshView(表示正在刷新的 View),觸發(fā)刷新的位置等特性。

          QMUIQQFaceView
          支持顯示表情的偽 TextView(繼續(xù)自定義 View,而不是真正的 TextView), 實(shí)現(xiàn)了 TextView 的 maxLine、ellipsize、textSize、textColor 等基本功能。
          支持與 QMUITouchableSpan 配合使用實(shí)現(xiàn)內(nèi)容可點(diǎn)擊。

          QMUIQQFaceCompiler
          QMUIQQFaceView 的內(nèi)容解析器,將文本內(nèi)容解析成 QMUIQQFaceView 想要的數(shù)據(jù)格式。

          IQMUIQQFaceManager
          QMUIQQFaceView 資源管理接口,使用 QMUIQQFaceView 必須實(shí)現(xiàn)這個(gè)接口以提供表情資源。

          QMUIRadiusImageView
          提供為圖片添加圓角、邊框、剪裁到圓形或其他形狀等功能。

          QMUIRoundButton
          對(duì) Button 提供圓角功能,支持以下特性:
          指定圓角的大小。
          分別指定不同方向的圓角大小。
          指定圓角的大小為高度的一半,并跟隨高度變化自適應(yīng)圓角大小。
          支持分別指定背景色和邊框色,指定顏色時(shí)支持使用 color 或 ColorStateList。

          QMUIRoundButtonDrawable
          使用該 Drawable 可以方便地生成圓角矩形/圓形 Drawable,提供設(shè)置背景色、描邊大小和顏色、圓角自適應(yīng) View 高度等特性。

          QMUISpanTouchFixTextView
          相比 TextView,修正了兩個(gè)常見問題:
          修正了 TextView 與 ClickableSpan 一起使用時(shí),點(diǎn)擊 ClickableSpan 也會(huì)觸發(fā) TextView 的事件的問題。
          修正了 TextView 默認(rèn)情況下如果添加了 ClickableSpan 之后就無法把點(diǎn)擊事件傳遞給 TextView 的 Parent 的問題。

          QMUITabSegment
          用于橫向多個(gè) Tab 的布局,包含多個(gè)特性:
          可以用 xml 或 QMUITabSegment 提供的 set 方法統(tǒng)一配置文字顏色、icon 位置、是否要下劃線等。
          每個(gè) Tab 都可以非常靈活的配置,內(nèi)容上支持文字和 icon 的顯示,icon 支持選中態(tài),支持內(nèi)容的排版對(duì)齊方向設(shè)置,支持顯示紅點(diǎn),支持插入自定義的 View,支持監(jiān)聽雙擊事件等。
          可以通過 setupWithViewPager(ViewPager) 方法與 ViewPager 綁定。

          QMUITipDialog
          提供一個(gè)浮層展示在屏幕中間,提供了以下兩種樣式:
          使用 QMUITipDialog.Builder 生成,提供了一個(gè)圖標(biāo)和一行文字的樣式, 其中圖標(biāo)有 Loading、成功、失敗等類型可選。
          使用 QMUITipDialog.CustomBuilder 生成,支持傳入自定義的 layoutResId。

          QMUITopBar
          通用的頂部 Bar。提供了以下功能:
          在左側(cè)/右側(cè)添加圖片按鈕/文字按鈕/自定義View。
          設(shè)置標(biāo)題/副標(biāo)題,且支持設(shè)置標(biāo)題/副標(biāo)題的水平對(duì)齊方式。

          QMUITopBarLayout
          對(duì) QMUITopBar 的包裹類,并代理了 QMUITopBar 的方法。配合 QMUIWindowInsetLayout 使用,可使 QMUITopBar 在支持沉浸式狀態(tài)欄的界面中頂部延伸到狀態(tài)欄。

          QMUIVerticalTextView
          在 TextView 的基礎(chǔ)上支持文字豎排。

          QMUITouchableSpan
          繼承自 ClickableSpan,支持 normal 態(tài)和 press 態(tài)時(shí)有不同的背景顏色以及字體顏色。建議配合 QMUISpanTouchFixTextView 或其子類使用,便于事件傳遞的協(xié)調(diào)。

          QMUIWindowInsetLayout
          配合沉浸式狀態(tài)欄使用,用于協(xié)調(diào)子 View 的 fitSystemWindows。

          QMUIWrapContentListView
          支持高度值為 wrap_content 的 ListView,解決原生 ListView 在設(shè)置高度為 wrap_content 時(shí)高度計(jì)算錯(cuò)誤的 bug。

          QMUIBlockSpaceSpan
          通過在段落之間設(shè)置該 span,實(shí)現(xiàn)段間距的效果。

          QMUICustomTypefaceSpan
          支持以 Typeface 的方式設(shè)置 span 的字體,實(shí)現(xiàn)自定義字體的效果。

          QMUIAlignMiddleImageSpan
          繼承自 ImageSpan,在此基礎(chǔ)上實(shí)現(xiàn)讓 span 垂直居中的效果。

          QMUIMarginImageSpan
          繼承自 QMUIMarginImageSpan,在此基礎(chǔ)上支持設(shè)置圖片的左右間距。

          QMUITextSizeSpan
          支持調(diào)整字體大小的 span。AbsoluteSizeSpan 可以調(diào)整字體大小,但在中英文混排下由于decent的不同,無法根據(jù)具體需求進(jìn)行底部對(duì)齊或者頂部對(duì)齊。而 QMUITextSizeSpan 則可以多傳一個(gè)參數(shù),讓你可以根據(jù)具體情況來決定偏移值。

          幫助類

          QMUIColorHelper
          顏色處理工具類,按照功能類型來劃分,總共包含以下幾個(gè)特性:
          為一個(gè)顏色設(shè)置透明度。
          根據(jù)指定比例,在兩個(gè)顏色值之間計(jì)算出一個(gè)顏色值。
          將顏色值轉(zhuǎn)換為字符串。

          QMUIDeviceHelper
          獲取設(shè)備信息的工具類,按照功能類型來劃分,總共包含以下幾個(gè)特性:
          判斷設(shè)備為手機(jī)/平板。
          判斷設(shè)備是否為魅族手機(jī)。
          判斷當(dāng)前系統(tǒng)是否為 Flyme 系統(tǒng)。
          判斷當(dāng)前系統(tǒng)是否為 MIUI 系統(tǒng)。
          判斷當(dāng)前是否擁有懸浮窗權(quán)限。

          QMUIDisplayHelper
          屏幕相關(guān)的工具類,按照功能類型來劃分,總共包含以下幾個(gè)特性:
          方便地獲取一個(gè) DisplayMetrics 實(shí)例。
          獲取屏幕信息,包括屏幕密度、屏幕寬度和高度、狀態(tài)欄高度、ActionBar 高度等。
          獲取設(shè)備硬件信息,包括是否有可用攝像頭、是否有硬件菜單、是否有網(wǎng)絡(luò)、SD Card 是否可用、當(dāng)前選擇的國(guó)家語言等。
          判斷當(dāng)前是否處于全屏狀態(tài),控制進(jìn)入/退出全屏狀態(tài)。
          dp 與 px 數(shù)值的相互轉(zhuǎn)化。

          QMUIDrawableHelper
          快速繪制一張指定大小、顏色、邊框的圖片,支持形狀為圓角矩形和圓形。
          快速繪制一張帶上分隔線或下分隔線的圖片。
          快速繪制一張可帶圓角的漸變圖片。
          將當(dāng)前圖片的顏色換成另一個(gè)顏色。
          將兩張圖片疊加后生成一張新的圖片。
          對(duì)某個(gè) View 截圖生成圖片。

          QMUIPackageHelper
          提供簡(jiǎn)便的方式獲取 App 的版本信息,可以單獨(dú)獲取主版本號(hào)、次版本號(hào)以及修正版本號(hào)。

          QMUIResHelper
          封裝了更加便捷的方法,用于獲取當(dāng)前 Theme 下的 Attr 值,支持 Float、Color、ColorStateList、Drawable 和 Dimen 類型的 Attr。

          QMUISpanHelper
          提供了方法使得 QMUIMarginImageSpan 能被更便捷地使用。

          QMUIStatusBarHelper
          狀態(tài)欄相關(guān)的工具類,按照功能類型來劃分,總共包含以下幾個(gè)特性:
          快速實(shí)現(xiàn)沉浸式狀態(tài)欄(支持 4.4 以上版本的 MIUI 和 Flyme,以及 5.0 以上版本的其他 Android)。
          快速設(shè)置狀態(tài)欄為黑色或白色字體圖標(biāo)(支持 4.4 以上版本 MIUI 和 Flyme,以及 6.0 以上版本的其他 Android)。
          提供多個(gè)常用的工具方法,如獲取狀態(tài)欄高度、判斷當(dāng)前是否全屏等等。

          QMUIViewHelper
          View 工具類,按照功能類型來劃分,總共包含以下幾個(gè)特性:
          對(duì) ImageView 進(jìn)行處理,可以按比例縮放圖片。
          對(duì) View 做背景顏色變化動(dòng)畫,支持多個(gè)動(dòng)畫參數(shù)。
          對(duì) View 做進(jìn)退場(chǎng)動(dòng)畫,支持透明度變化和上下位移兩種方式。
          提供多個(gè)常用的 View 相關(guān)工具方法,如對(duì) View 設(shè)置單個(gè)方向的 padding、從 ViewStub 中獲取一個(gè) View、判斷 ListView 是否已經(jīng)滾動(dòng)到底部等等。

          支持 Android 版本

          QMUI Android 支持 API Level 19+。

          項(xiàng)目地址

          官網(wǎng):http://qmuiteam.com/android

          瀏覽 46
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费播放婬乱视频 | 亚洲最大福利在线综合视频 | 成人红色三级片网站 | 亚洲美女被操 | 国产菊门残忍扩张视频 |