近期发现了一个腾讯出品的Android UI框架库,旨在快速开发,这些没有什么可多说的。(在最后附上SDK官网和GitHub地址)说几个比较常用的,具体的可以去看官方的文档:
UI类
QMUIFloatLayout
类似 CSS 里 float: left 的浮动布局,从左到右排列子 View 并自动换行。支持以下特性:
控制子 View 之间的垂直/水平间距。
控制子 View 的水平对齐方向(左对齐/居中/右对齐)。
限制子 View 的个数或行数。
QMUIFontFitTextView
使 TextView 在宽度固定的情况下,文字多到一行放不下时能缩小文字大小来自适应
QMUILinkTextView
使 TextView 能自动识别 URL、电话、邮箱地址,相比 TextView 有以下特点:
1、可以设置链接的样式。
2、可以设置链接的点击事件。
QMUIObservableScrollView
可以监听滚动事件的 ScrollView,并能在滚动回调中获取每次滚动前后的偏移量。
QMUIProgressBar
一个进度条控件,通过颜色变化显示进度,支持环形和矩形两种形式,主要特性如下:
- 支持在进度条中以文字形式显示进度,支持修改文字的颜色和大小。
- 可以通过 xml 属性修改进度背景色,当前进度颜色,进度条尺寸。
- 支持限制进度的最大值。
QMUIPullRefreshLayout
下拉刷新控件。支持自定义 RefreshView(表示正在刷新的 View),触发刷新的位置等特性。
QMUIRadiusImageView
提供为图片添加圆角、边框、剪裁到圆形或其他形状等功能。
QMUIRoundButton
对 Button 提供圆角功能,支持以下特性:
- 指定圆角的大小。
- 分别指定不同方向的圆角大小。
- 指定圆角的大小为高度的一半,并跟随高度变化自适应圆角大小。
- 支持分别指定背景色和边框色,指定颜色时支持使用 color 或 ColorStateList。
QMUIRoundButtonDrawable
使用该 Drawable 可以方便地生成圆角矩形/圆形 Drawable,提供设置背景色、描边大小和颜色、圆角自适应 View 高度等特性。
QMUITabSegment
用于横向多个 Tab 的布局,包含多个特性:
- 可以用 xml 或 QMUITabSegment 提供的 set 方法统一配置文字颜色、icon 位置、是否要下划线等。
- 每个 Tab 都可以非常灵活的配置,内容上支持文字和 icon 的显示,icon 支持选中态,支持内容的排版对齐方向设置,支持显示红点,支持插入自定义的 View,支持监听双击事件等。
- 可以通过 setupWithViewPager(ViewPager) 方法与 ViewPager 绑定
QMUITopBar
通用的顶部 Bar。提供了以下功能:
在左侧/右侧添加图片按钮/文字按钮/自定义View。
设置标题/副标题,且支持设置标题/副标题的水平对齐方式。
QMUITopBarLayout
对 QMUITopBar 的包裹类,并代理了 QMUITopBar 的方法。配合 QMUIWindowInsetLayout 使用,可使 QMUITopBar 在支持沉浸式状态栏的界面中顶部延伸到状态栏。
QMUIVerticalTextView
在 TextView 的基础上支持文字竖排。
Helper工具类
QMUIDeviceHelper
获取设备信息的工具类,按照功能类型来划分,总共包含以下几个特性:
- 判断设备为手机/平板。
- 判断设备是否为魅族手机。
- 判断当前系统是否为 Flyme 系统。
- 判断当前系统是否为 MIUI 系统。
- 判断当前是否拥有悬浮窗权限。
QMUIDisplayHelper
屏幕相关的工具类,按照功能类型来划分,总共包含以下几个特性:
- 方便地获取一个 DisplayMetrics 实例。
- 获取屏幕信息,包括屏幕密度、屏幕宽度和高度、状态栏高度、ActionBar 高度等。
- 获取设备硬件信息,包括是否有可用摄像头、是否有硬件菜单、是否有网络、SD Card 是否可用、当前选择的国家语言等。
- 判断当前是否处于全屏状态,控制进入/退出全屏状态。
- dp 与 px 数值的相互转化。
QMUIStatusBarHelper
状态栏相关的工具类,按照功能类型来划分,总共包含以下几个特性:
- 快速实现沉浸式状态栏(支持 4.4 以上版本的 MIUI 和 Flyme,以及 5.0 以上版本的其他 Android)。
- 快速设置状态栏为黑色或白色字体图标(支持 4.4 以上版本 MIUI 和 Flyme,以及 6.0 以上版本的其他 Android)。
- 提供多个常用的工具方法,如获取状态栏高度、判断当前是否全屏等等。
QMUIViewHelper
View 工具类,按照功能类型来划分,总共包含以下几个特性:
- 对 ImageView 进行处理,可以按比例缩放图片。
- 对 View 做背景颜色变化动画,支持多个动画参数。
- 对 View 做进退场动画,支持透明度变化和上下位移两种方式。
- 提供多个常用的 View 相关工具方法,如对 View 设置单个方向的 padding、从 ViewStub 中获取一个 View、判断 ListView 是否已经滚动到底部等等。