腾讯QMUI Android框架使用(一)入门及目录
开始使用
qmui
1.引入库
dependencies {
implementation 'com.qmuiteam:qmui:1.2.0'
}
2.配置主题
把项目的 theme 的 parent 指向 QMUI.Compat,至此,QMUI 可以正常工作。
...
3.覆盖组件的默认表现形式
你可以通过在项目中的 theme 中用
(value)
的形式来覆盖 QMUI 组件的默认表现。具体可指定的属性名请参考 @style/QMUI.Compat 中的属性。
目录
对 Button 提供圆角功能,支持以下特性:
1.指定圆角的大小。
2.分别指定不同方向的圆角大小。
3.指定圆角的大小为高度的一半,并跟随高度变化自适应圆角大小。
4.支持分别指定背景色和边框色,指定颜色时支持使用 color 或 ColorStateList。
提供了一系列常用的对话框,解决了使用系统默认对话框时在不同 Android 版本上的表现不一致的问题。使用不同的 Builder 来构建不同类型的对话框,这些 Builder 都拥有设置 title 和添加底部按钮的功能,不同的 Builder 特有的作用如下:
1.MessageDialogBuilder: 消息类型的对话框 Builder。通过它可以生成一个带标题、文本消息、按钮的对话框。
2.ConfirmMessageDialogBuilder: 带 Checkbox 的消息确认框 Builder。
3.EditTextDialogBuilder: 带输入框的对话框 Builder。
4.MenuDialogBuilder: 菜单对话框 Builder。
5.CheckableDialogBuilder: 单选类型的对话框 Builder。
6.MultiCheckableDialogBuilder: 多选类型的对话框 Builder。
7.CustomDialogBuilder: 自定义对话框内容区域的 Builder。
8..AutoResizeDialogBuilder: 随键盘升降自动调整 Dialog 高度的 Builder
类似 CSS 里 float: left 的浮动布局,从左到右排列子 View 并自动换行。支持以下特性:
1.控制子 View 之间的垂直/水平间距。
2.控制子 View 的水平对齐方向(左对齐/居中/右对齐)。
3.限制子 View 的个数或行数。
通用的空界面控件,支持显示 loading、主标题和副标题、图片。
用于横向多个 Tab 的布局,包含多个特性:
1.可以用 xml 或 QMUITabSegment 提供的 set 方法统一配置文字颜色、icon 位置、是否要下划线等。
2.每个 Tab 都可以非常灵活的配置,内容上支持文字和 icon 的显示,icon 支持选中态,支持内容的排版对齐方向设置,支持显示红点,3.支持插入自定义的 View,支持监听双击事件等。
4.可以通过 setupWithViewPager(ViewPager) 方法与 ViewPager 绑定。
一个进度条控件,通过颜色变化显示进度,支持环形和矩形两种形式,主要特性如下:
1.支持在进度条中以文字形式显示进度,支持修改文字的颜色和大小。
2.可以通过 xml 属性修改进度背景色,当前进度颜色,进度条尺寸。
3.支持限制进度的最大值。
通用的列表,常用于 App 的设置界面,注意其父类不是 ListView 而是 LinearLayout,所以一般要配合 ScrollView 使用。提供了 Section 的概念,用来将列表分块。 配合 QMUIGroupListView.Section, QMUICommonListItemView 和 QMUIGroupListSectionHeaderFooterView 使用。
提供一个浮层展示在屏幕中间,提供了以下两种样式:
1.使用 QMUITipDialog.Builder 生成,提供了一个图标和一行文字的样式, 其中图标有 Loading、成功、失败等类型可选。
2.使用 QMUITipDialog.CustomBuilder 生成,支持传入自定义的 layoutResId。
提供为图片添加圆角、边框、剪裁到圆形或其他形状等功能。
在 TextView 的基础上支持文字竖排。
下拉刷新控件。支持自定义 RefreshView(表示正在刷新的 View),触发刷新的位置等特性。
提供一个浮层,支持自定义浮层的内容,支持在指定 View 的任一方向旁边展示该浮层,支持自定义浮层出现/消失的动画。
相比 TextView,修正了两个常见问题:
修正了 TextView 与 ClickableSpan 一起使用时,点击 ClickableSpan 也会触发 TextView 的事件的问题。
修正了 TextView 默认情况下如果添加了 ClickableSpan 之后就无法把点击事件传递给 TextView 的 Parent 的问题。
使 TextView 能自动识别 URL、电话、邮箱地址,相比 TextView 有以下特点:
1.可以设置链接的样式。
2.可以设置链接的点击事件。
1.支持显示表情的伪 TextView(继续自定义 View,而不是真正的 TextView), 实现了 TextView 的 maxLine、ellipsize、textSize、textColor 等基本功能。
2.支持与 QMUITouchableSpan 配合使用实现内容可点击。
支持二级结构的列表的折叠与展开;支持滚动时悬浮当前 section header; 支持在section list 或 section item list 前后添加自定义 View。
对 QMUITopBar 的包裹类,并代理了 QMUITopBar 的方法。配合 QMUIWindowInsetLayout 使用,可使 QMUITopBar 在支持沉浸式状态栏的界面中顶部延伸到状态栏。