
Android Surface 与 SurfaceView 使用指南
Android Surface 与 SurfaceView 使用指南Android Surface 与 SurfaceView 使用指南。1、Surface 基础概念1.1、什么是 Surface?Surface 是 Android 系统中的一个原始绘图表面,它:代表屏幕上的一个绘图区域由屏幕合成器(SurfaceFlinger)管理提供用于绘图的 Canvas 或 OpenGL ES 上下文1.
# 标签
共 132 篇文章

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)则负责将数据

AsyncListDiffer 全面解析:高效更新 RecyclerView 数据的利器1、AsyncListDiffer 是什么AsyncListDiffer 是 Android Jetpack 提供的一个工具类,专门用于处理 RecyclerView 数据集的异步差异计算。它能够在后台线程中高效地计算新旧数据集的差异,并以最优方式更新 UI,避免了手动调用 notifyDataSetChang
ItemTouchHelper:轻松实现滑动删除与拖拽重排在 Android 开发中,为 RecyclerView 添加"滑动删除"和"拖拽重动"是提升用户体验的神技。以前这需要开发者手动计算坐标和处理动画,但自从有了 ItemTouchHelper,一切都变得优雅多了。本文将详细介绍如何使用 ItemTouchHelper 快速实现这些功能。1、什么是 ItemTouchHelper?ItemT

ItemDecoration:打造精致的列表视觉效果作为 Android 开发中最强大的列表控件,RecyclerView 的灵活性和扩展性很大程度上来自于它的装饰器体系。本文将全面解析 ItemDecoration 的工作原理、各个方法的调用机制以及实战应用技巧。1、ItemDecoration 设计哲学1.1、核心定位ItemDecoration 采用典型的装饰者模式,在不侵入原有适配器和布局
StateListAnimator 详解与使用方法StateListAnimator 是 Android API 21 (Lollipop) 引入的强大动画框架组件,它可以根据视图的状态变化自动触发相应的动画效果。下面我将详细介绍其核心用法和工作原理。1、基础概念1.1、本质特性状态驱动:根据 View 的状态(如 pressed/focused/enabled)切换动画属性动画:底层使用 Obj

Palette的使用Palette的使用很简单,关键就是用图片(Bitmap)生成颜色调板(Palette),再从 Palette 中获取有代表性的颜色。以下是详细步骤和示例代码:1. 获取Bitmap对象必须有一个图片对象(Bitmap)。比如:2. 生成Palette对象异步生成(推荐方式):通常用 Palette 的异步生成,避免主线程阻塞:defaultColor:是当 Palette 没
深度解析ItemDecoration:不仅仅是分割线在 Android 开发中,RecyclerView 是一个非常强大的列表控件,而 ItemDecoration 则是其重要的组成部分。很多开发者只知道它可以用来添加分割线,但实际上,ItemDecoration 的功能远不止于此。本文将深入解析 RecyclerView ItemDecoration 的工作原理、使用方法以及各种高级应用场景。1

SelectionContainer:实现文本选择与复制功能在 Jetpack Compose 中,SelectionContainer 是一个非常实用的组件,它能够为包裹的子组件(如 Text)启用文本选择功能,允许用户长按文本进行选择和复制操作。1、基本用法默认情况下,Text 组件是不支持文本选择的。如果需要让文本可选,可以使用 SelectionContainer 将 Text 组件包裹起
AnnotatedString:打造多样式文字的神器在开发 Android 应用时,我们常常需要在同一个文本组件中展示多种样式的文字,比如部分文字加粗、部分文字变色、部分文字添加下划线等。在传统的 Android 开发中,这通常是通过 SpannableString 来实现的。而在 Jetpack Compose 中,我们有了一个更加强大且易于使用的工具——AnnotatedString。一、An
Icon 和 Image 组件:展示图片与图标的最佳实践在 Jetpack Compose 中,Icon 和 Image 是两个用于显示图像资源的重要组件。虽然它们都可以用来显示图片,但在使用场景和功能上有一些区别。本文将详细介绍这两个组件的用法、区别以及一些实用的技巧。一、Image 组件Image 组件是 Compose 中用于显示图片的基础组件,它可以加载各种类型的图片资源,包括本地资源、网

Compose进度条:实现优雅的加载效果在开发 Android 应用时,进度条是必不可少的组件之一。它可以帮助用户了解应用当前的加载状态,提升用户体验。Jetpack Compose 提供了多种方式来实现进度条,包括内置的 CircularProgressIndicator 和 LinearProgressIndicator,以及自定义进度条的选项。本文将详细介绍如何在 Compose 中使用和自

Android项目如何引入Compose现在还有多少项目没用上Kotlin,Google就在三年前又就放出了Compose,一种全新的声明式UI开发框架。具体学习可以参考官方Compose Demo。在 Android 项目中引入 Jetpack Compose 很简单,首先确保安装了支持 Jetpack Compose 的最新版本的 Android Studio,配置具体步骤如下:1. 创建新的