UI核心
墨玉浮白
这个作者很懒,什么都没留下…
展开
-
沉浸式学习
沉浸式就是利用系统状态栏,将背景图片延伸至系统状态栏区域内,效果就是和游戏应用画面那样。 Action1 隐藏状态栏和ActionBar 仅仅是隐藏状态栏和ActionBar,只是粗暴的隐藏了而已 //获取当前界面的DecorView View decorView = getWindow().getDecorView(); //表示全屏,即隐藏状态栏 int option ...原创 2020-04-27 10:36:56 · 3273 阅读 · 0 评论 -
自定义View实现Canvas炫酷效果
整个效果分为旋转、扩散聚合、水波纹效果,首先在定义好一些变量后,要先定义一个抽象类SplashState,提供抽象方法drawState供子类实现。 /** * 这个抽象类,对外提供drawState方法,供子类实现 */ private abstract class SplashState{ abstract void drawState(Canv...原创 2019-12-11 13:26:27 · 307 阅读 · 2 评论 -
Canvas详解
文章目录一、概念二、常用api类型2.1 绘制集合图形,文本,位图等2.2 位置、形状变换2.2.1 平移操作2.2.2 缩放操作2.2.3 旋转操作2.2.4 倾斜操作2.2.5 切割2.2.6 矩阵2.3 状态保存和恢复三、案例 一、概念 画布,通过画笔绘制几何图形、文本、路径和位图等。 二、常用api类型 常用api分为绘制、变换、状态保存和恢复 2.1 绘制集合图形,文本,位图等 //在指...原创 2019-12-05 21:29:37 · 515 阅读 · 0 评论 -
Paint滤镜效果实现
文章目录一、LightingColorFilter滤镜(颜色+颜色创建的滤镜效果)二、PorterDuffColorFilter滤镜(颜色+图片)三、ColorMatrixColorFilter滤镜(颜色数组、颜色矩阵)四、常见滤镜效果五、ColorMatrix类5.1 setScale方法5.2 setSaturation方法5.3 setRotate方法 一、LightingColorFilt...原创 2019-12-03 20:12:16 · 309 阅读 · 0 评论 -
Paint画笔
文章目录一、概念二、常用API三、渲染器3.1 LinearGradient线性渲染3.2 环形渲染RadialGradient3.3 扫描渲染SweepGradient3.4 位图渲染BitmapShader3.5 组合渲染ComposeShader 一、概念 画笔,保存了绘制几何图形、文本和位图的样式和颜色信息 二、常用API 通过ALT+7查看Paint类结构图,发现有大量的get、set方...原创 2019-11-26 20:38:30 · 458 阅读 · 0 评论 -
View的绘制流程
文章目录一、把DecorView添加到窗口上二、测量--performMeasure方法三、布局--performLayout方法四、绘制--performDraw方法五、总结 一、把DecorView添加到窗口上 找到绘制入口,先从ActivityThread的handleMessage方法开始。不过得先提一下handleMessage方法所在的类–H,它是Handler的子类,是主线程处理消息...原创 2019-11-22 21:09:10 · 245 阅读 · 0 评论 -
View是如何被添加到屏幕窗口上的
关于View如何被添加到屏幕窗口上,大体有以下几步: 1.创建顶层布局容器DecorView 2.在顶层布局中加载基础布局ViewGroup 3.将ContentView添加到基础布局中的FrameLayout 在平时加载View时,会在onCreate方法中调用setContentView()方法,传入的参数是资源布局id: public void setContentView(@Layou...原创 2019-11-22 19:36:21 · 438 阅读 · 0 评论