- 可以设置链接的点击事件。
-
QMUILoadingView
-
用于显示
Loading
的View
,支持颜色和大小的设置。 -
QMUIObservableScrollView
-
可以监听滚动事件的
ScrollView
,并能在滚动回调中获取每次滚动前后的偏移量。 -
QMUIPopup
-
提供一个浮层,支持自定义浮层的内容,支持在指定 View 的任一方向旁边展示该浮层,支持自定义浮层出现/消失的动画。
-
QMUIListPopup
-
继承自
QMUIPopup
,在QMUIPopup
的基础上,支持显示一个列表。 -
QMUIProgressBar
-
一个进度条控件,通过颜色变化显示进度,支持环形和矩形两种形式,主要特性如下:
-
支持在进度条中以文字形式显示进度,支持修改文字的颜色和大小。
-
可以通过
xml
属性修改进度背景色,当前进度颜色,进度条尺寸。 -
支持限制进度的最大值。
-
QMUIPullRefreshLayout
-
下拉刷新控件。支持自定义 RefreshView(表示正在刷新的 View),触发刷新的位置等特性。
-
QMUIQQFaceView
-
支持显示表情的伪
TextView
(继续自定义 View,而不是真正的TextView
), 实现了TextView
的maxLine
、ellipsize
、textSize
、textColor
等基本功能。 -
支持与
QMUITouchableSpan
配合使用实现内容可点击。
-
QMUIQQFaceCompiler
-
QMUIQQFaceView
的内容解析器,将文本内容解析成QMUIQQFaceView
想要的数据格式。 -
IQMUIQQFaceManager
-
QMUIQQFaceView
资源管理接口,使用QMUIQQFaceView
必须实现这个接口以提供表情资源。 -
QMUIRadiusImageView
-
提供为图片添加圆角、边框、剪裁到圆形或其他形状等功能。
-
QMUIRoundButton
-
对
Button
提供圆角功能,支持以下特性:
-
指定圆角的大小。
-
分别指定不同方向的圆角大小。
-
指定圆角的大小为高度的一半,并跟随高度变化自适应圆角大小。
-
支持分别指定背景色和边框色,指定颜色时支持使用 color 或
ColorStateList
。
-
QMUIRoundButtonDrawable
-
使用该
Drawable
可以方便地生成圆角矩形/圆形Drawable
,提供设置背景色、描边大小和颜色、圆角自适应 View 高度等特性。 -
QMUISpanTouchFixTextView
-
相比
TextView
,修正了两个常见问题:
-
修正了
TextView
与ClickableSpan
一起使用时,点击ClickableSpan
也会触发TextView
的事件的问题。 -
修正了
TextView
默认情况下如果添加了ClickableSpan
之后就无法把点击事件传递给TextView
的 Parent 的问题。
-
QMUITabSegment
-
用于横向多个
Tab
的布局,包含多个特性:
-
可以用
xml
或QMUITabSegment
提供的 set 方法统一配置文字颜色、icon 位置、是否要下划线等。 -
每个
Tab
都可以非常灵活的配置,内容上支持文字和 icon 的显示,icon 支持选中态,支持内容的排版对齐方向设置,支持显示红点,支持插入自定义的View
,支持监听双击事件等。 -
可以通过
setupWithViewPager(ViewPager)
方法与ViewPager
绑定。
-
QMUITipDialog
-
提供一个浮层展示在屏幕中间,提供了以下两种样式:
-
使用
QMUITipDialog.Builder
生成,提供了一个图标和一行文字的样式, 其中图标有 Loading、成功、失败等类型可选。 -
使用
QMUITipDialog.CustomBuilder
生成,支持传入自定义的layoutResId
。
-
QMUITopBar
-
通用的顶部 Bar。提供了以下功能:
更多可参考 wiki 文档
-
在左侧/右侧添加图片按钮/文字按钮/自定义View。
-
设置标题/副标题,且支持设置标题/副标题的水平对齐方式。
-
QMUITopBarLayout
-
对
QMUITopBar
的包裹类,并代理了QMUITopBar
的方法。配合QMUIWindowInsetLayout
使用,可使QMUITopBar
在支持沉浸式状态栏的界面中顶部延伸到状态栏。 -
QMUIVerticalTextView
-
在
TextView
的基础上支持文字竖排。 -
QMUITouchableSpan
-继承自 ClickableSpan
,支持 normal 态和 press 态时有不同的背景颜色以及字体颜色。建议配合 QMUISpanTouchFixTextView
或其子类使用,便于事件传递的协调。
-
QMUIWindowInsetLayout
-
配合沉浸式状态栏使用,用于协调子
View
的fitSystemWindows
。 -
QMUIWrapContentListView
-
支持高度值为
wrap_content
的ListView
,解决原生ListView
在设置高度为wrap_content
时高度计算错误的 bug。 -
QMUIBlockSpaceSpan
-
通过在段落之间设置该 span,实现段间距的效果。
-
QMUICustomTypefaceSpan
-
通过在段落之间设置该 span,实现段间距的效果。
-
QMUICustomTypefaceSpan
-
支持以
Typeface
的方式设置span
的字体,实现自定义字体的效果。 -
QMUIAlignMiddleImageSpan
-
继承自
ImageSpan
,在此基础上实现让span
垂直居中的效果。 -
QMUIMarginImageSpan
-
继承自
QMUIMarginImageSpan
,在此基础上支持设置图片的左右间距。 -
QMUITextSizeSpan
-
支持调整字体大小的
span
。AbsoluteSizeSpan
可以调整字体大小,但在中英文混排下由于decent的不同,无法根据具体需求进行底部对齐或者顶部对齐。而QMUITextSizeSpan
则可以多传一个参数,让你可以根据具体情况来决定偏移值。 -
QMUIStickySectionLayout
-
支持二级结构的列表的折叠与展开;支持滚动时悬浮当前 section header; 支持在section list 或 section item list 前后添加自定义
View
。 更多可参考 wiki 文档。
Helper Classes
-
QMUIColorHelper
-
颜色处理工具类,按照功能类型来划分,总共包含以下几个特性:
-
为一个颜色设置透明度。
-
根据指定比例,在两个颜色值之间计算出一个颜色值。
-
将颜色值转换为字符串。
-
QMUIDeviceHelper
-
获取设备信息的工具类,按照功能类型来划分,总共包含以下几个特性:
-
判断设备为手机/平板。
-
判断设备是否为魅族手机。
-
判断当前系统是否为 Flyme 系统。
-
判断当前系统是否为 MIUI 系统。
-
判断当前是否拥有悬浮窗权限。
-
QMUIDisplayHelper
-
屏幕相关的工具类,按照功能类型来划分,总共包含以下几个特性:
-
方便地获取一个
DisplayMetrics
实例。 -
获取屏幕信息,包括屏幕密度、屏幕宽度和高度、状态栏高度、ActionBar 高度等。
-
获取设备硬件信息,包括是否有可用摄像头、是否有硬件菜单、是否有网络、SD Card 是否可用、当前选择的国家语言等。
-
判断当前是否处于全屏状态,控制进入/退出全屏状态。
-
dp 与 px 数值的相互转化。
- QMUIDrawableHelper
-
快速绘制一张指定大小、颜色、边框的图片,支持形状为圆角矩形和圆形。
-
快速绘制一张带上分隔线或下分隔线的图片。
-
快速绘制一张可带圆角的渐变图片。
-
将当前图片的颜色换成另一个颜色。
-
将两张图片叠加后生成一张新的图片。
-
对某个
View
截图生成图片。
-
QMUIPackageHelper
-
提供简便的方式获取 App 的版本信息,可以单独获取主版本号、次版本号以及修正版本号。
-
QMUIResHelper
-
封装了更加便捷的方法,用于获取当前
Theme
下的Attr
值,支持Float
、Color
、ColorStateList
、Drawable
和Dimen
类型的Attr
。
-QMUISpanHelper
-
提供了方法使得
QMUIMarginImageSpan
能被更便捷地使用。 -
QMUIStatusBarHelper
-
状态栏相关的工具类,按照功能类型来划分,总共包含以下几个特性:
-
快速实现沉浸式状态栏(支持 4.4 以上版本的
MIUI
和Flyme
,以及 5.0 以上版本的其他Android
)。 -
快速设置状态栏为黑色或白色字体图标(支持 4.4 以上版本
MIUI
和Flyme
,以及 6.0 以上版本的其他Android
)。
3.提供多个常用的工具方法,如获取状态栏高度、判断当前是否全屏等等。
-
QMUIViewHelper
-
View 工具类,按照功能类型来划分,总共包含以下几个特性:
-
对
ImageView
进行处理,可以按比例缩放图片。 -
对
View
做背景颜色变化动画,支持多个动画参数。 -
对
View
做进退场动画,支持透明度变化和上下位移两种方式。
提供多个常用的 View 相关工具方法,如对 View 设置单个方向的 padding、从 ViewStub 中获取一个 View、判断 ListView 是否已经滚动到底部等等。 -
提供多个常用的
View
相关工具方法,如对View
设置单个方向的padding
、从ViewStub
中获取一个View
、判断ListView
是否已经滚动到底部等等。
开始使用
qmui
1. 引入库
最新的库会上传到 JCenter 仓库上,请确保配置了 JCenter 仓库源,然后直接引用:
implementation ‘com.qmuiteam:qmui:1.2.0’
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
题外话
我们见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了7、8年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。
其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。
不断奔跑,你就知道学习的意义所在!
注意:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
注意:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
[外链图片转存中…(img-s42xxOiG-1712398006339)]