SearchView 完全用法解析
SearchView 完全用法解析搜索是 App 里最常见的人机入口之一,Android 也为此专门提供了 SearchView。但很多人对它的印象停留在"放个输入框、加个监听",其实它背后还有一整套可搜索配置(searchable 配置)、searchable Activity、ACTION_SEARCH 传递与搜索建议机制。本文从零开始,把 SearchView 的两种用法、清单声明、接收查询
# 标签
共 120 篇文章
SearchView 完全用法解析搜索是 App 里最常见的人机入口之一,Android 也为此专门提供了 SearchView。但很多人对它的印象停留在"放个输入框、加个监听",其实它背后还有一整套可搜索配置(searchable 配置)、searchable Activity、ACTION_SEARCH 传递与搜索建议机制。本文从零开始,把 SearchView 的两种用法、清单声明、接收查询
RecyclerView 缓存机制终极指南:从原理到实战优化1、理解RecyclerView缓存的核心价值RecyclerView之所以能成为Android开发中最强大的列表控件,关键在于它高效的四级缓存体系: 即时响应:通过复用ViewHolder减少对象创建开销 内存优化:分层缓存控制内存占用峰值 平滑滚动:预加载机制保障60fps流畅体验 灵活扩展:支持开发者自定义缓存策略2、深入四级缓存工
Jetpack Compose SelectionContainer 文字选中详解在 Jetpack Compose 中,Text 组件默认不支持长按选择文本的功能。SelectionContainer 正是为解决这一问题而设计的,它将文本选择功能与文本展示功能分离,让开发者可以灵活控制哪些内容可被用户选中。1、SelectionContainer 概述SelectionContainer 是 J
TextureView 初探:结合 Camera 实现相机预览1、TextureView 基本概念1.1、什么是 TextureViewTextureView 是 Android 4.0(API 14)引入的一个视图类,它可以将内容流(如相机预览、视频播放)渲染到一个硬件加速的纹理上。与 SurfaceView 不同,TextureView 是一个普通的 View,可以像其他 View 一样进行变
PathMeasure 动画路径追踪详解PathMeasure 是 Android 中一个强大的工具类,用于测量 Path 路径的长度、获取路径上某一段的片段、以及判断路径是否闭合等。它可以帮助开发者更精确地控制和绘制复杂的路径动画效果,是实现流畅动画的重要工具。1、什么是 PathMeasurePathMeasure 的核心功能包括: • 测量路径总长度 • 截取路径片段 • 获取路径上某点的坐
Android View 动画之 LayoutAnimation 详解1、LayoutAnimation 概述LayoutAnimation 是 Android 中用于为 ViewGroup 的子 View 添加进入动画的工具。它可以让列表、网格等容器中的子元素按照特定的顺序和时间间隔依次执行动画,从而创造出流畅、有序的视觉效果。核心特性: - 自动为 ViewGroup 的子 View 添加进入
Android SurfaceView 全面解析与实践指南1、SurfaceView 概述SurfaceView 是 Android 中一种特殊的 View,它拥有独立的 Surface,可以在非 UI 线程进行绘制操作。与普通 View 不同,SurfaceView 的绘制不会阻塞主线程,这使得它非常适合需要频繁刷新或复杂渲染的场景。核心特性: - 独立的渲染 Surface,双缓冲机制 - 支
Android 布局中 @id/ 和 @+id/ 的区别1、基本概念在 Android XML 布局文件中,@id/ 和 @+id/ 用于定义和引用视图的唯一标识符: - @+id/:创建一个新的 ID - @id/:引用一个已存在的 ID2、详细区别2.1、@+id/- 功能:在 R.java 文件中创建一个新的 ID 资源 - 使用场景:当你首次定义一个视图的 ID 时 - 编译结果:会在 R
View 坐标方法浅析:getLocalVisibleRect()、getGlobalVisibleRect()、getLocationOnScreen()、getLocationInWindow()1、概述在 Android 开发中,了解 View 的坐标位置和可见区域是非常重要的,特别是在实现动画、交互效果和布局调整时。Android 提供了多个方法来获取 View 的位置和可见区域信息,其中
Android TextInputLayout 详解1、TextInputLayout 概述TextInputLayout 是 Android Material Design 组件库中的重要控件,它继承自 LinearLayout,用于包装 EditText(或其子类如 TextInputEditText),提供更加丰富的输入体验。TextInputLayout 能够实现浮动标签、错误提示、字符计
Android Canvas 图层详解1、Canvas 图层概述Canvas 图层是 Android 绘图系统中的重要概念,它允许开发者在绘制过程中创建和管理多个绘图层,实现复杂的视觉效果。图层可以看作是独立的绘图表面,支持保存和恢复绘图状态,为绘制操作提供了更大的灵活性。核心概念: - 图层:独立的绘图表面,拥有自己的状态 - 画布状态:包括矩阵变换、裁剪区域、绘制属性等 - 图层栈:用于管理多
Android Surface 与 SurfaceView 使用指南Android Surface 与 SurfaceView 使用指南。1、Surface 基础概念1.1、什么是 Surface?Surface 是 Android 系统中的一个原始绘图表面,它:代表屏幕上的一个绘图区域由屏幕合成器(SurfaceFlinger)管理提供用于绘图的 Canvas 或 OpenGL ES 上下文1.
ToolBar 与 ActionBar 详解:菜单标题栏的正确使用1、ToolBar 与 ActionBar 概述1.1、ActionBar 简介ActionBar 是 Android 3.0(API 11)引入的一个顶部导航栏组件,它位于应用顶部,显示应用标题、导航按钮和操作菜单。ActionBar 是系统默认提供的,与应用的主题绑定。1.2、ToolBar 简介ToolBar 是 Androi
Android 动效中的贝塞尔曲线1、贝塞尔曲线的基本概念贝塞尔曲线(Bézier curve)是一种用于计算机图形学的数学曲线,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)发明。它通过控制点来定义曲线的形状,是实现平滑动画效果的重要工具。工具: https://easings.net/# https://bezier.method.ac/核心概念: - 控制点:决定曲线形状的关键 p
Surface、SurfaceView 和 SurfaceHolder 详解1、核心概念解析1.1、什么是 SurfaceSurface 是 Android 中用于图形渲染的核心类,它代表了一个可直接绘制像素的缓冲区。Surface 是生产者和消费者模式的实现,生产者(如 Camera、MediaPlayer)可以向 Surface 写入数据,消费者(如 SurfaceFlinger)则负责将数据