UI
文章平均质量分 93
码农小风
这个作者很懒,什么都没留下…
展开
-
Android-ViewModel源码分析
简介ViewModel是JetPack生命周期管理库中的一个组件。它可以提供并且管理数据,可感知生命周期,同时不会随着配置(eg:屏幕旋转导致的Activity重新创建)变更而改变。 使用它可以方便的将UI界面和数据逻辑剥离开来,从而达到 UI只负责显示数据和处理用户操作,ViewModel负责提供、管理数据以及通讯。 典型使用场景:作为数据持有和管理者(eg:处理网络请求);Fragment之间的通信;ViewModel代替加载器(eg:CursorLoader)。生命周期官方对其生命周期原创 2022-03-18 22:05:07 · 262 阅读 · 0 评论 -
RecyclerView-ViewCacheExtension-使用及踩坑
转载于:https://juejin.cn/post/7033539224481562661作者:Delicia_Lani前言最近遇到一个需求,需求实现上并不复杂,大概长这个样:基本上就是一个RecyclerView 嵌套多个子 RecyclerView ,有横向的,也有竖向的。RecyclerView 实现多类型布局有各种各样的实现方式,这里就不多说了。本来很开心的实现完了,在测试中确遇到了非常严重的性能问题,也就了本篇文章的诞生。具体的讲,嵌套的横向滑动的RecyclerView 没有.原创 2022-03-14 19:44:22 · 807 阅读 · 1 评论 -
高级UI之Paint-Xfermode-总结
前言Xfermode国外有大神称之为过渡模式, 这种翻译比较贴切但恐怕不易理解,大家也可以直接称之为图像混合模式一、图像混合模式在之前的Paint的使用当中我们提到了高级渲染和滤镜,那么今天我们来学习最后一个内容点Xfermode,我们能通过使用Xfermode能够完成图像组合的效果1.XFermode在使用Paint的时候,我们能通过使用Xfermode能够完成图像组合的效果将绘制的图形的像素和Canvas上对应位置的像素按照一定的规则进行混合,形成新的像素,再更新到Canvas中形成最终的图形原创 2022-03-02 22:09:38 · 2102 阅读 · 0 评论 -
高级UI之Paint(滤镜,颜色通道,矩阵运算)
前言在之前的几次课当中我们已经详细了解到整个android程序,从启动再到绘制的整体流程,从这中间我们又牵扯出了Canvas绘制图形的画板和我们的Paint控制色彩样式的画笔,那么之前基础篇我们就不进行详细的解释,那些API在之前的基础篇已经公布出来,我也注释的非常详细,今天我门来了解Paint高级篇真正需要了解的滤镜滤镜1.滤镜效果从上图我们可以看到 四张滤镜效果图像,其色彩的显示效果各不一样,也就是说所谓滤镜其实只不过是对于原本图像色彩进行调整,那么需要对图像的色彩进行调整操作,我们会需要知道原创 2022-03-01 22:06:31 · 451 阅读 · 0 评论 -
Android-ViewModel源码分析
简介ViewModel是JetPack生命周期管理库中的一个组件。它可以提供并且管理数据,可感知生命周期,同时不会随着配置(eg:屏幕旋转导致的Activity重新创建)变更而改变。 使用它可以方便的将UI界面和数据逻辑剥离开来,从而达到 UI只负责显示数据和处理用户操作,ViewModel负责提供、管理数据以及通讯。 典型使用场景:作为数据持有和管理者(eg:处理网络请求);Fragment之间的通信;ViewModel代替加载器(eg:CursorLoader)。生命周期官方对其生命周期原创 2022-02-25 22:09:03 · 555 阅读 · 0 评论 -
大厂Android高频问题:Android-触摸事件如何传递?
前言触摸传递机制可以说是Android开发面试高频的一道问题,但总有小伙伴在回答这道问题总不能让面试满意, 本篇就搞清楚面试官问你对触摸传递机制原理时,他最想听到的和其实想问的应该是哪些?下文中,我们将简单剖析一下 Android 的触摸传递机制。涉及到的类和方法总的来说,触摸传递过程是由上至下的。一个典型的触摸事件,从 Activity 开始,经过根视图,再经过层层 ViewGroup,最终传递到某一个 View 或 ViewGroup 上,进行处理。主要涉及到的类自然包括 Activity,Vie原创 2022-02-24 22:25:03 · 439 阅读 · 0 评论 -
UI绘制流程之Draw绘制流程
前言从前面的几篇文章,我门能够的到知道ui的测量和布局,那么这次,我们首先来关注下我门的ui是怎么具体画出来的。那么在这里我们首先需要了解的是具体绘制的流程以及,paint和Canvas在这中间所扮演的角色绘制流程在之前的课程里我们都提到了在performTraversals当中一次调用了performMeasure,performLayout,performDraw那么前两者我们现在不关注, 现在主要关注draw正在具体干嘛,那么我们看到ViewRootImpl. performDraw方法看下他是原创 2022-02-15 22:03:44 · 581 阅读 · 1 评论