
Android View介绍
文章平均质量分 94
Android View介绍
Android 小码蜂
掘金账号:https://juejin.cn/user/4406498335701950 欢迎关注; 公众号:Android小码峰,Android面试,难点咨询,皆可找我
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入剖析!Android WebView使用原理全解析:从源码底层到实战应用
WebView 是 Android 提供的一个用于在应用中显示网页内容的视图组件。它基于 Chromium 开源项目,能够解析和渲染 HTML、CSS、JavaScript 等 Web 技术。从本质上来说,WebView 就是一个小型的浏览器内核,将网页内容呈现给用户。本文从源码级别深入分析了 Android WebView 的使用原理,涵盖了 WebView 的基本概念与架构、初始化过程、网页加载过程、与 JavaScript 的交互、性能优化、安全机制以及版本兼容性等。原创 2025-04-30 15:00:00 · 908 阅读 · 0 评论 -
深度揭秘:Android View 自定义属性原理大剖析
自定义属性允许开发者为 View 或 ViewGroup 添加额外的特性,这些特性可以在 XML 布局文件中进行配置,也可以在代码中动态设置。例如,我们可以为一个自定义的 Button 控件添加一个“rippleColor”属性,用于设置点击时的水波纹颜色,这样在不同的界面中就可以方便地使用不同的水波纹颜色。个性化界面设计:当系统提供的属性无法满足特定的界面设计需求时,通过自定义属性可以实现独特的视觉效果。比如,为一个 ImageView 添加圆角属性,使其显示为圆角图片。提高代码复用性。原创 2025-04-30 14:00:00 · 737 阅读 · 0 评论 -
揭秘 Android View 位移原理:源码级深度剖析
界面切换动画:当用户切换不同的界面时,通过位移效果可以实现平滑的过渡,提升用户体验。比如从一个主界面滑动到一个详情界面。交互反馈:当用户点击一个按钮或者进行其他操作时,通过位移可以给予用户直观的反馈。例如按钮被点击后稍微向上移动一下。动态布局调整:在一些动态布局中,根据用户的操作或者数据的变化,需要对 View 的位置进行调整。比如在一个可折叠的列表中,展开或折叠某一项时,其他项的位置会发生位移。原创 2025-04-30 13:00:00 · 745 阅读 · 0 评论 -
揭秘 Android View 事件分发机制:源码深度剖析
Android View 的事件分发机制是指当用户触摸屏幕时,系统会将触摸事件(如按下、移动、抬起等)从最顶层的 View 开始,依次向下传递,直到找到合适的 View 来处理该事件的过程。这一机制的主要作用是确保用户的触摸事件能够被正确地处理,同时避免事件的混乱和冲突。通过合理地处理事件分发,开发者可以实现各种复杂的交互效果,如滑动菜单、多点触摸等。方法是事件分发的起点,它负责将触摸事件分发给子 View 或自己处理。// 分发触摸事件的方法// 检查事件是否为按下事件。原创 2025-04-30 12:00:00 · 691 阅读 · 0 评论 -
揭秘 Android View 绘制原理:从源码剖析到极致理解
在 Android 系统里,用户界面是由一个个 View 或 ViewGroup 构成的。View 作为界面的基本元素,其绘制过程直接影响着界面的显示效果和性能。一个高效、正确的绘制过程能够保证界面的流畅性和美观性,提升用户体验。而对绘制原理的深入理解,有助于开发者优化布局、解决绘制冲突以及实现自定义的 UI 效果。继承 View 类:创建一个新的类,继承自View或其子类(如ViewGroup重写构造函数:在构造函数中进行必要的初始化操作,如初始化画笔、加载资源等。重写onMeasure方法。原创 2025-04-30 11:00:00 · 856 阅读 · 0 评论 -
深度剖析:Android View 滑动原理大揭秘
列表滚动:在ListView等列表控件中,用户可以通过滑动来浏览列表中的内容。页面切换:在ViewPager中,用户可以通过左右滑动来切换不同的页面。侧滑菜单:通过滑动屏幕边缘,可以显示或隐藏侧滑菜单。图片缩放和拖动:用户可以通过双指缩放和单指拖动来操作图片。本文从源码级别深入分析了 Android View 的滑动原理,涵盖了通过scrollTo和scrollBy方法、动画、改变布局参数和触摸事件处理等多种实现滑动的方式,以及滑动冲突的处理和滑动性能优化等方面。通过scrollTo和。原创 2025-04-30 10:00:00 · 908 阅读 · 0 评论 -
深度揭秘:Android View 滑动冲突原理全解析
Android 的事件分发机制是解决滑动冲突的基础,它决定了一个触摸事件(如)是如何在 View 树中传递和处理的。和。事件分发的整体流程可以概括为:当一个触摸事件发生时,首先会传递给最顶层的ViewGroup,该ViewGroup的方法会被调用。在方法中,会调用方法判断是否拦截事件。如果拦截,则调用自身的方法处理事件;如果不拦截,则将事件分发给子 View,子 View 继续按照上述流程进行处理,直到事件被处理或没有 View 处理该事件。原创 2025-04-30 09:00:00 · 908 阅读 · 0 评论 -
揭秘 Android View 惯性滑动原理:从源码到实战
惯性滑动是指当用户在屏幕上快速滑动一个 View 后,手指离开屏幕,View 不会立即停止,而是会继续滑动一段距离,并且速度会逐渐减慢,直到最终停止。这种效果模拟了现实中物体的惯性运动,让用户的滑动操作更加自然和流畅。下面我们通过一个自定义 View 的示例来实现惯性滑动效果。// 用于跟踪触摸事件速度的对象// 用于实现平滑滚动和惯性滚动的对象// 记录上次触摸点的 X 坐标// 记录上次触摸点的 Y 坐标// 初始化 OverScroller 对象。原创 2025-04-30 08:00:00 · 1019 阅读 · 0 评论 -
深度剖析:Android Canvas 使用原理全揭秘
Canvas 可以理解为一个绘图板,它提供了一系列的绘图方法,如绘制直线、矩形、圆形、文本等。开发者可以通过调用这些方法在 Canvas 上进行绘图操作,最终将绘制的内容显示在屏幕上。自定义视图绘制:开发者可以创建自定义的 View 或 ViewGroup,并重写其onDraw方法,在该方法中使用 Canvas 进行绘图,从而实现独特的界面效果。动画效果实现:通过不断地在 Canvas 上绘制不同的图形和图像,并结合动画框架,可以实现各种流畅的动画效果,如旋转、缩放、平移等。图像编辑和处理。原创 2025-04-30 07:00:00 · 954 阅读 · 0 评论 -
深度剖析:Android View 动画原理大揭秘
视图动画(View Animation):也称为补间动画,是 Android 早期提供的动画机制,它通过对 View 的内容进行平移、缩放、旋转和透明度变化等操作来实现动画效果。视图动画的优点是使用简单,缺点是只能对 View 进行操作,且没有真正改变 View 的属性。属性动画(Property Animation):是 Android 3.0(API 级别 11)引入的一种动画机制,它可以直接改变 View 的属性值,实现更加灵活和复杂的动画效果。原创 2025-04-29 23:45:00 · 931 阅读 · 0 评论 -
揭秘 Android View 测量原理:从源码到实战深度剖析
View 测量是指 Android 系统在布局过程中,确定每个 View 的宽度和高度的过程。在 Android 中,视图的大小并不是固定的,而是需要根据父容器的约束和自身的属性来动态计算。例如,一个 TextView 的宽度可能会根据其文本内容的长度和字体大小而变化,一个 ImageView 的高度可能会根据其显示的图片的尺寸而变化。系统调用View的measure方法,传入宽度和高度的测量规格。measure方法会进行一些检查和缓存处理,然后调用onMeasure方法。子类重写onMeasure。原创 2025-04-29 22:00:00 · 705 阅读 · 0 评论 -
揭秘Android View布局底层逻辑:万字源码深度剖析与实战解析
自定义View需要重写onMeasure和onLayout// 重写onMeasure方法@Override// 重写 onMeasure 方法@Override// 获取宽度测量模式// 获取宽度测量值// 获取高度测量模式// 获取高度测量值// 根据宽度测量模式确定最终宽度// 精确模式,直接使用测量值// 最大值模式,需要根据内容计算合适的宽度// 这里简单假设根据某个自定义规则计算宽度} else {// 未指定模式,使用默认宽度。原创 2025-04-29 20:00:00 · 885 阅读 · 0 评论 -
揭秘 Android View 的 TranslationY 位移原理:源码深度剖析
在 Android 系统中,View是所有可视化组件的基类。它是屏幕上的一个矩形区域,负责绘制自己的内容并处理用户的交互事件。View可以是简单的文本框、按钮,也可以是复杂的自定义视图。通过组合和嵌套不同的View,可以构建出各种各样的用户界面。属性是View类中的一个浮点型属性,用于表示View在垂直方向上相对于其原始位置的位移量。默认情况下,的值为 0,表示View没有发生垂直位移。通过改变的值,可以让View在垂直方向上向上或向下移动。// 获取 View 的 TranslationY 属性值。原创 2025-04-29 19:00:00 · 738 阅读 · 0 评论 -
深度剖析:Android Canvas 使用原理全揭秘
Canvas 可以理解为一个绘图板,它提供了一系列的绘图方法,如绘制直线、矩形、圆形、文本等。开发者可以通过调用这些方法在 Canvas 上进行绘图操作,最终将绘制的内容显示在屏幕上。自定义视图绘制:开发者可以创建自定义的 View 或 ViewGroup,并重写其onDraw方法,在该方法中使用 Canvas 进行绘图,从而实现独特的界面效果。动画效果实现:通过不断地在 Canvas 上绘制不同的图形和图像,并结合动画框架,可以实现各种流畅的动画效果,如旋转、缩放、平移等。图像编辑和处理。原创 2025-04-29 18:00:00 · 765 阅读 · 0 评论 -
揭秘!Android VideoView 使用原理大起底
VideoView 是 Android 框架提供的一个用于播放视频的视图组件,它继承自 SurfaceView 类。SurfaceView 是一种特殊的视图,它允许在独立的线程中进行绘制操作,从而避免了在主线程中进行复杂的绘制任务导致的界面卡顿问题。VideoView 利用了 SurfaceView 的这一特性,实现了流畅的视频播放功能。原创 2025-04-29 17:00:00 · 879 阅读 · 0 评论 -
深度揭秘:Android Toolbar 使用原理的源码级剖析
Toolbar 是 Android 设计支持库中的一个视图组件,它继承自 ViewGroup。Toolbar 通常位于应用界面的顶部,用于显示应用的标题、导航图标、操作菜单等信息。它可以作为应用的主要导航栏,为用户提供快速访问应用功能的入口。高度可定制:开发者可以自定义 Toolbar 的背景颜色、文本颜色、图标等,还可以添加自定义的视图。支持操作菜单:Toolbar 可以显示操作菜单,用户可以通过点击菜单图标来执行相应的操作。与 DrawerLayout 配合使用。原创 2025-04-29 16:00:00 · 861 阅读 · 0 评论 -
深度剖析!Android TextureView 使用原理全揭秘
是 Android 系统中的一个视图组件,它继承自View类。与不同,本身并不提供独立的绘图表面,而是将内容渲染到一个纹理(Texture)上,然后在主线程中进行显示。这使得可以像普通的View一样进行动画、变换等操作,并且能够实现更流畅的画面过渡效果。通过对 Android的深入分析,我们全面了解了其从构造函数初始化、属性设置、渲染机制、生命周期管理,到动画和变换、触摸事件处理、性能优化等各个方面的工作原理。作为一个强大的视图组件,基于实现了实时的 OpenGL 渲染,为开发者提供了丰富的功能和灵活性。原创 2025-04-29 15:00:00 · 1531 阅读 · 0 评论 -
深度揭秘!Android TextView 使用原理全解析
通过对 Android TextView 使用原理的深入分析,我们了解到 TextView 作为 Android 开发中最基础且常用的 UI 组件,其功能丰富且灵活。从创建与初始化,到测量、布局、绘制过程,再到文本处理、事件处理以及高级特性和性能优化,每个环节都涉及到众多的源码逻辑和细节。在创建与初始化方面,TextView 既可以在 XML 布局文件中定义,也可以在 Java 代码中动态创建,并且会在初始化过程中根据属性集合设置各种属性值。原创 2025-04-29 14:00:00 · 1171 阅读 · 0 评论 -
揭秘 Android TextInputLayout:从源码深度剖析其使用原理
是 Android Design Support Library 中的一个布局组件,它继承自。其主要作用是包裹EditText或其子类,为输入框提供额外的视觉效果和交互功能。例如,当用户输入内容时,输入框的提示文本会以浮动标签的形式显示在输入框上方,这样既不影响用户输入,又能持续提供提示信息。通过对源码的深入分析,我们了解到它是一个功能强大且灵活的布局组件。它通过包裹EditText为输入框提供了浮动标签、错误提示、字符计数等实用功能。其实现原理涉及到视图的初始化、状态管理、动画效果、测量和布局等多个方面。原创 2025-04-29 13:00:00 · 924 阅读 · 0 评论 -
惊爆!深入剖析 Android GLSurfaceView 使用原理
是 Android 系统中专门用于 OpenGL ES 渲染的视图组件,它继承自。作为一种特殊的视图,拥有独立的绘图表面,能够在独立的线程中进行绘制操作,从而避免了主线程的阻塞,保证了界面的流畅性。在的基础上,进一步封装了 OpenGL ES 的相关操作,提供了一个简单而强大的接口,使得开发者可以方便地进行 OpenGL ES 渲染。原创 2025-04-29 12:00:00 · 1084 阅读 · 0 评论 -
揭秘 Android FloatingActionButton:从入门到源码深度剖析
FloatingActionButton 是 Android 支持库中提供的一个视图组件,它继承自类,因此具备的基本特性,同时又融入了 Material Design 的设计风格和动画效果。它通常用于显示应用的主要操作,如新建、分享、编辑等,通过悬浮在界面上的方式,方便用户快速访问这些操作。在 Android 开发中,通常使用 XML 布局文件来定义 FloatingActionButton。原创 2025-04-29 11:00:00 · 973 阅读 · 0 评论 -
惊爆!Android EditText 使用原理深度大揭秘
EditText 是 Android 提供的一个用于用户输入和编辑文本的视图组件,它继承自 TextView 类。这一继承关系使得 EditText 既拥有 TextView 强大的文本显示和处理能力,又具备了可编辑的特性。用户可以在 EditText 中输入、删除、修改文本内容,还可以对输入的文本进行复制、粘贴等操作。EditText 的绘制过程遵循 Android 视图的绘制流程,主要包括测量(onMeasure)、布局(onLayout)和绘制(onDraw)三个阶段。可以通过创建自定义的。原创 2025-04-29 10:00:00 · 654 阅读 · 0 评论 -
揭秘!Android CheckBox 使用原理全解析
CheckBox 是 Android 中的一个视图组件,它继承自 CompoundButton,用于提供一个可勾选的复选框。用户可以通过点击复选框来切换其选中状态,选中时会显示一个勾选标记,未选中时则为空。通过对 Android CheckBox 源码的深入分析,我们全面了解了其使用原理。CheckBox 继承自 CompoundButton,拥有了 TextView 的文本显示功能和可勾选的特性。它通过mChecked变量存储选中状态,通过setChecked方法设置选中状态,通过toggle。原创 2025-04-29 09:00:00 · 1056 阅读 · 0 评论 -
破茧成蝶!深度剖析 Android Button 底层运作奥秘
在 Android 系统里,Button 属于视图组件的范畴,它继承自 TextView 类。这一继承关系使得 Button 不仅拥有 TextView 强大的文本显示能力,还具备了独特的可点击交互特性。用户只需轻轻点击 Button,就能触发预设的操作,为应用带来了生动的交互性。Button 的绘制过程遵循 Android 视图的绘制流程,主要包括测量(onMeasure)、布局(onLayout)和绘制(onDraw)三个阶段。可以通过创建自定义的Drawable资源来定制 Button 的背景。原创 2025-04-29 08:00:00 · 510 阅读 · 0 评论 -
深度剖析:Android SurfaceView 使用原理大揭秘
在 Android 开发的广阔领域中,图形绘制和视频播放等实时性要求较高的场景始终是开发者们关注的重点。而 作为 Android 系统中一个至关重要的组件,为这些场景提供了强大的支持。与普通的 不同, 能够在独立的线程中进行绘制操作,这使得它在处理复杂的图形渲染和高帧率的动画时表现出色,极大地提升了应用的性能和用户体验。本文将深入探讨 的使用原理,从源码层面进行细致入微的分析。我们将逐步揭开 的神秘面纱,了解它是如何在 Android 系统中实现高效的绘制和显示的。通过对其源码的深入研究,开发者们能原创 2025-04-28 23:45:00 · 1262 阅读 · 0 评论 -
深入剖析:Android Snackbar 使用原理的源码级探秘
Snackbar 是 Android 为开发者提供的一个用于显示轻量级消息提示的组件,它继承自 View。Snackbar 通常会在屏幕的底部弹出一个短暂的消息提示框,显示一段时间后自动消失。Snackbar 可以包含一个文本消息和一个可选的操作按钮,用户可以通过点击操作按钮来执行特定的操作。Snackbar 的主要作用是向用户提供操作结果的反馈或相关的提示信息,例如操作成功、操作失败、网络连接异常等。与传统的 Toast 相比,Snackbar 提供了更多的交互性,使得用户可以对提示信息做出响应。原创 2025-04-28 22:30:00 · 921 阅读 · 0 评论 -
深度剖析 Android SmartRefreshLayout:原理、源码与实战
是一个继承自ViewGroup的布局容器,它主要用于包裹需要实现刷新和加载更多功能的列表视图(如ListView等)。其核心作用是监听用户的下拉和上拉手势,根据手势的状态触发相应的刷新和加载更多操作,并提供丰富的动画效果和状态反馈。可以通过继承接口来创建自定义的刷新头部视图。// 自定义刷新头部视图类,实现 RefreshHeader 接口// 加载自定义刷新头部视图的布局文件@Override@Override@Override// 开始刷新动画时的处理@Override。原创 2025-04-28 20:30:00 · 2269 阅读 · 0 评论 -
揭秘 Android RippleDrawable:深入解析使用原理
是 Android 提供的一个用于实现水波纹点击效果的Drawable类。Drawable在 Android 中是一个抽象的概念,代表可以绘制的对象,它可以是图片、颜色、渐变等,而则专门用于创建水波纹动画效果。在 Android 开发中,通常可以使用 XML 资源文件来定义。原创 2025-04-28 19:00:00 · 1009 阅读 · 2 评论 -
惊爆!Android RecyclerView 性能优化全解析
如果需要自定义动画,应尽量简化动画逻辑,避免复杂的计算和过度的绘制。例如,在自定义时,减少不必要的动画帧和属性变化。以下是一个简单的自定义// 自定义 ItemAnimator 类,继承自 DefaultItemAnimator@Override// 获取视图// 设置视图初始透明度为 0// 创建透明度从 0 到 1 的动画// 设置动画时长为 300 毫秒// 设置动画插值器为加速减速插值器// 启动动画// 返回 true 表示动画正在执行。原创 2025-04-28 18:00:00 · 862 阅读 · 0 评论 -
深度探秘!Android RecyclerView 缓存机制的底层原理全解析
RecyclerView 的缓存机制是其高性能的关键所在。通过四级缓存(和)的协同工作,RecyclerView 可以高效地复用视图,减少视图的创建和销毁次数,从而提高列表滚动的流畅性和性能。在数据更新时,缓存机制也能根据不同的更新操作进行相应的处理,确保显示的内容与数据一致。同时,通过合理设置缓存大小、优化视图创建和绑定逻辑、利用预取机制和避免不必要的刷新等性能优化方法,可以进一步提升 RecyclerView 的性能。原创 2025-04-28 17:00:00 · 2317 阅读 · 0 评论 -
探秘 Android RecyclerView 惯性滑动:从源码剖析到实践原理
是 Android 3.2(API 级别 13)引入的一个强大的视图容器,用于展示大量数据集合。它继承自ViewGroup,通过引入ViewHolder模式和灵活的布局管理器(),实现了高效的视图回收与复用,显著提升了列表滚动的性能。与传统的ListView相比,在功能扩展性和性能优化方面具有明显优势,成为现代 Android 应用开发中不可或缺的 UI 组件。通过实现接口,开发者可以完全自定义惯性滑动的行为。例如,实现一个限制最大滑动速度的自定义@Override// 限制水平方向最大速度。原创 2025-04-28 16:00:00 · 1117 阅读 · 0 评论 -
深入探秘:Android Paint 使用原理的源码级剖析
Paint是 Android 提供的一个用于设置绘制属性的类,它位于包中。在进行图形绘制时,Canvas类负责提供绘制的画布,而Paint类则负责设置绘制的样式、颜色、字体等属性。通过对Paint的属性进行设置,开发者可以控制绘制的图形或文字的外观。通过对 AndroidPaint的源码深度分析,我们全面且深入地了解了其工作机制和相关特性。Paint作为 Android 图形绘制中至关重要的类,通过丰富的属性设置方法,为开发者提供了强大的绘制控制能力。在初始化阶段,Paint。原创 2025-04-28 15:00:00 · 1052 阅读 · 0 评论 -
揭秘 Android NavigationView:源码级深度剖析使用原理
NavigationView 是 Android Design Support Library 中的一个组件,继承自 FrameLayout。它主要用于实现侧边导航栏,通常与 DrawerLayout 结合使用,为用户提供一种侧滑打开导航菜单的交互方式。NavigationView 可以包含一个或多个菜单项,这些菜单项可以分组显示,并且可以通过设置图标和文本进行个性化展示。此外,NavigationView 还支持在顶部添加头部视图,用于显示用户信息或其他重要内容。原创 2025-04-28 14:00:00 · 707 阅读 · 0 评论 -
深度揭秘!Android HorizontalScrollView 使用原理全解析
是 Android 框架中的一个视图容器,它继承自,用于在水平方向上滚动显示其子视图。当子视图的宽度超过本身的宽度时,用户可以通过手指滑动屏幕来查看子视图的其他部分。通过对源码的深入分析,我们全面了解了其使用原理。在初始化时会进行属性设置、滚动条初始化和触摸拦截监听器的设置。在测量过程中,会根据子视图的大小和属性进行测量,并确保滚动范围合理。布局过程中会确定子视图的位置,并调整滚动位置。触摸事件处理机制允许用户通过滑动来滚动视图,滚动条会根据滚动状态自动显示和隐藏。同时,还提供了平滑滚动的功能,通过。原创 2025-04-28 13:00:00 · 996 阅读 · 0 评论 -
揭秘 Android GestureDetector:深入剖析使用原理
是 Android 提供的一个用于识别用户手势的类,它位于包中。可以接收对象,并根据这些事件判断用户的手势类型,然后调用相应的回调方法通知开发者。通过对 Android的源码深入分析,我们全面了解了其使用原理和内部机制。作为 Android 系统中处理手势操作的重要工具,为开发者提供了便捷的方式来识别和处理各种常见的手势,如单击、双击、长按、滑动和快速滑动等。从初始化过程来看,通过构造方法接收和接口实例,为后续的手势事件处理做好准备。在手势识别流程方面,它通过接收。原创 2025-04-28 12:00:00 · 1644 阅读 · 0 评论 -
揭秘 Android FloatingActionButton:从入门到源码深度剖析
FloatingActionButton 是 Android 支持库中提供的一个视图组件,它继承自类,因此具备的基本特性,同时又融入了 Material Design 的设计风格和动画效果。它通常用于显示应用的主要操作,如新建、分享、编辑等,通过悬浮在界面上的方式,方便用户快速访问这些操作。在 Android 开发中,通常使用 XML 布局文件来定义 FloatingActionButton。原创 2025-04-28 11:00:00 · 695 阅读 · 0 评论 -
深入探秘 Android DrawerLayout:源码级使用原理剖析
DrawerLayout 是 Android Support Library 中提供的一个特殊的 ViewGroup,它继承自 ViewGroup 类。其主要功能是实现侧滑菜单的效果,通常用于实现应用的导航抽屉。在 DrawerLayout 中,一般包含两个主要部分:主内容视图和抽屉视图。主内容视图占据屏幕的主要部分,用于显示应用的主要内容;抽屉视图则隐藏在屏幕的一侧(通常是左侧或右侧),当用户从屏幕边缘向内滑动时,抽屉视图会滑出显示,用户可以在抽屉视图中进行导航操作,选择不同的功能或页面。原创 2025-04-28 10:00:00 · 1032 阅读 · 0 评论 -
揭秘 Android CollapsingToolbarLayout:从源码深度剖析其使用原理
CollapsingToolbarLayout 是 Android Support Library 中提供的一个 ViewGroup,它继承自 FrameLayout。其主要功能是为 Toolbar 提供折叠和伸缩的动画效果,通常与 AppBarLayout 和 NestedScrollView 或 RecyclerView 等可滚动视图配合使用。原创 2025-04-28 09:00:00 · 929 阅读 · 0 评论 -
深度揭秘:Android CardView 使用原理的源码级剖析
CardView 是 Android 为开发者提供的一个用于创建卡片式布局的 ViewGroup,它继承自 FrameLayout。CardView 的主要特点是可以为其内部的子视图添加圆角和阴影效果,使其呈现出卡片的外观。这种卡片式设计在 Material Design 中被广泛应用,能够使应用的界面更加美观、清晰,并且具有良好的可读性和交互性。原创 2025-04-28 08:00:00 · 1625 阅读 · 0 评论 -
深度剖析:Android BottomSheet 使用原理大揭秘
BottomSheet 是 Android Design Support Library 中的一个组件,它允许用户从屏幕底部向上滑动显示一个视图,这个视图可以包含各种控件,如按钮、列表等。BottomSheet 有两种主要的使用方式:BottomSheetDialog 和 BottomSheetBehavior。定义了多种状态,包括拖动状态、 settling 状态(正在滚动到目标位置)、展开状态、折叠状态、隐藏状态和半展开状态。/*** 当 BottomSheet 滑动时调用。原创 2025-04-28 07:00:00 · 921 阅读 · 0 评论