avatar
Articles
71
Tags
7
Categories
0
简体中文/Chinese-CN
Home
Timeline
标签
分类
Link
About
List
  • Music(音乐)
  • Movie(电影)
  • 音乐
LogoGoshenC
Search
简体中文/Chinese-CN
Home
Timeline
标签
分类
Link
About
List
  • Music(音乐)
  • Movie(电影)
  • 音乐

GoshenC

Snackbar用法详解
Created2025-04-04
一、概述Snackbar 是 Android 提供的一种简洁、轻量级的提示框,用于在屏幕底部展示短暂的信息提示。它的设计初衷是为了提供一种比 Toast 更具互动性和灵活性的提示方式。与 Toast 的静态提示不同,Snackbar 提供了更多的交互功能,例如:支持撤销操作、自动隐藏和手动关闭。 Snackbar 适用于展示短期通知,尤其是需要用户进行交互(如撤销操作)的场景。 二、Snackbar 与 Toast 的对比 特性 Snackbar Toast 显示位置 屏幕底部 屏幕中间或底部 显示时间 可定制(一般显示 2-3 秒) 自动消失(一般 2-3 秒) 可交互性 支持按钮操作(如撤销) 无法交互 可以设置自定义动作 可以添加撤销按钮、动作 只能显示文本 Snackbar 的主要优势在于支持交互操作和自定义动作,比如用户可以点击“撤销”按钮撤回某个操作,而 Toast 仅是展示提示信息并自动消失。 三、Snackbar 基本使用1. 导入必要的依赖在使用 Snackbar 之前,首先需要确保你的项目已经包含了 Material...
NavigationView详解
Created2025-04-04
📌 Android NavigationView 技术详解(2025 年版)在现代 Android 应用中,良好的导航体验是提升用户满意度的关键。NavigationView 是 Google Material Design 指南推荐的组件之一,常与 DrawerLayout 结合使用,为应用提供侧滑导航菜单(Side Navigation Drawer)功能。本文将全面解析 NavigationView 的用法、特性与最佳实践,帮助你构建符合现代设计规范的 Android 应用。 🔧 什么是 NavigationView?NavigationView 是 com.google.android.material.navigation.NavigationView,它是 Material Components 提供的 UI 组件,用于构建左侧侧滑菜单,通常嵌套在 DrawerLayout 中。 📌 NavigationView 实际上是一个带有菜单项(Menu)和可选头部视图(Header)的 FrameLayout。 🧱...
DrawerLayout详解
Created2025-04-04
📘 DrawerLayout 技术文档(2025 年版) 1. 🧭 简介DrawerLayout 是 Android 官方支持的布局容器,用于实现侧边滑出的导航抽屉效果(Navigation Drawer)。广泛应用于包含多个导航项的 App 中,例如邮箱客户端、新闻阅读器、社交类应用等。 特性: 支持左侧/右侧抽屉(或同时存在) 支持滑动手势与菜单图标触发 与 NavigationView 和 Jetpack Navigation 组件良好兼容 支持 Material Design 风格 2. 🧩 核心概念与组件结构DrawerLayout 是一个 ViewGroup 容器,至少包含两个子布局: 主内容区域:通常为主界面,如 FragmentContainerView 或 ConstraintLayout 抽屉内容区域:通常放置 NavigationView,用于显示导航菜单项 123plaintext复制编辑DrawerLayout├── 主界面内容(Main Content)└── 抽屉内容(Drawer -...
TiniList使用详解
Created2025-04-01
TintList 使用技术文档本文档详细介绍 Android 开发中 TintList 的概念、作用以及使用方法,帮助开发者掌握如何利用 TintList 动态改变控件的颜色。 1. 概述在 Android 应用开发中,经常需要对控件的背景、图标等元素进行着色处理,以便实现动态主题、状态变化反馈或与应用整体风格保持一致。ColorStateList 是 Android 中一种描述颜色状态的对象,而 TintList 则通常指控件的背景或图标的“着色列表”,其底层实现就是使用 ColorStateList 对控件进行着色处理。 例如,许多控件(如 Button、ImageView、FloatingActionButton 等)提供了 setBackgroundTintList()、setImageTintList() 等方法,使得开发者可以轻松地为控件设置不同状态下的颜色。 2. ColorStateList 基础具体可看我的另一篇文章ColorStateList使用详解 | GoshenC 2.1 什么是 ColorStateListColorStateList...
ColorStateList使用详解
Created2025-04-01
ColorStateList 使用详解ColorStateList 是 Android 中用于管理不同状态下颜色变化的工具,常用于按钮、文本、图标等 UI 组件。本文详细介绍 ColorStateList 的定义方式、使用方法以及高级用法。 1. ColorStateList 简介ColorStateList 允许开发者为控件的不同状态指定不同的颜色。例如: 按钮被按下时变成红色,默认状态下是绿色。 文本在获取焦点时变为蓝色,失去焦点恢复默认颜色。 自定义 Snackbar 背景颜色。 2. ColorStateList 的创建方式2.1 在 XML 中定义 ColorStateList可以在 res/color/ 目录下创建 .xml 文件来定义 ColorStateList,示例如下: 1234567891011121314<?xml version="1.0" encoding="utf-8"?><selector...
Android Material3 资源管理全解析:Color,String,Style,Dimen,Array
Created2025-03-31
Android 资源管理全解析:Color、String、Style、Dimen、Array1. 资源(Resource)概述在 Android 开发中,资源文件(res/values 目录)用于存储 颜色、文本、样式、尺寸、数组 等 非代码 内容,便于: 统一管理 UI 风格,增强可维护性 支持 多语言(国际化) 适配 不同屏幕密度、尺寸、模式(夜间模式等) 提高应用的 复用性和灵活性 2. 颜色资源(Color)2.1 定义颜色(colors.xml)颜色资源用于 定义 UI 组件的颜色,可存储在 res/values/colors.xml: 123456789101112131415<?xml version="1.0" encoding="utf-8"?><resources> <!-- 基础颜色 --> <color name="black">#000000</color> <color...
Vector Asset的使用示例
Created2025-03-31
Android 使用 Vector Asset 的技术解析在 Android 开发中,图形资源一直是用户体验的重要组成部分。传统上,开发者常常依赖位图(Bitmap)资源,但随着多种屏幕分辨率的设备不断涌现,位图资源在扩展性和存储效率上逐渐暴露出不足。为了解决这一问题,Google 引入了 Vector Asset(矢量资源),它能够以较小的体积提供高质量且可伸缩的图形表现。本文将详细介绍 Android 中 Vector Asset 的使用方法、优势、注意事项以及最佳实践。 1. 什么是 Vector Asset?Vector Asset 是基于 XML 定义的矢量图形资源,不同于位图资源,它通过数学公式来描述图形的轮廓和颜色,从而实现无限放大而不会失真。主要优点包括: 无失真缩放: 无论在何种分辨率下,矢量图形都能保持清晰的显示效果。 文件体积小: 相对于同等质量的位图资源,矢量图通常占用更少的存储空间。 灵活的颜色和尺寸调整: 可在运行时动态修改颜色和大小,适应不同的主题和布局需求。 2. Android Studio 中导入 Vector...
Kotlin的协程
Created2025-03-30
Kotlin 协程技术文档 简介Kotlin 协程是 Kotlin 官方提供的一种用于简化异步编程和并发任务处理的工具。它能够让你用同步的写法实现异步代码,大大简化了回调地狱(callback hell)问题,提高了代码的可读性和维护性。协程在 Android 开发、服务器开发等场景中都有广泛应用。 协程基本概念什么是协程协程是一种轻量级的线程,能够在单个线程内并发执行多个任务。它基于挂起(suspending)和恢复(resuming)机制,在任务遇到耗时操作(如 IO、网络请求)时挂起执行,不阻塞线程,待条件满足后恢复执行。 协程与线程的对比 轻量性:协程比线程更加轻量,一个应用可以同时启动成千上万个协程,而线程数量通常受限于系统资源。 调度模型:协程由调度器(Dispatchers)管理,可以在多个线程间灵活调度,而线程调度依赖于操作系统。 切换成本:协程的上下文切换成本远低于线程切换,性能开销较小。 编程模型:协程可以用顺序化的代码编写异步逻辑,避免回调嵌套,使代码更直观。 协程构建块CoroutineScope 定义:CoroutineScope...
解析JSON格式数据示例
Created2025-03-30
书上P444讲的更好 1. 概述JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于 Web API 交互。Kotlin 提供了多种解析 JSON 数据的方法,其中 org.json.JSONObject 和 Gson 是常见的选择。 2. 适用场景 解析网络请求返回的 JSON 数据 存储和读取本地 JSON 配置文件 序列化/反序列化 Kotlin 数据类 3. JSON 示例假设有如下 JSON 数据 sample.json: 1234567891011121314{ "apps": [ { "id": 1, "name": "MyApp", "version": "1.0.0" }, { "id": 2, "name":...
SAX解析XML数据用法示例
Created2025-03-30
使用 SAX 解析 XML 数据 1. 概述SAX(Simple API for XML)是一种基于事件驱动的 XML 解析方式,适用于处理大规模 XML 文档。SAX 解析器不会将整个 XML 加载到内存中,而是逐行解析,因此在 性能和内存占用方面优于 DOM 解析。 2. 适用场景 处理大 XML 文件(如 RSS 订阅、日志文件) 流式解析(节省内存) 只需读取数据(无需修改 XML 结构) 3. XML 示例假设有如下 XML 数据 sample.xml: 1234567891011<?xml version="1.0" encoding="UTF-8"?><apps> <app id="1"> <name>MyApp</name> <version>1.0.0</version> </app> <app id="2"> ...
1…345…8
avatar
GoshenC
Articles
71
Tags
7
Categories
0
Follow Me
Announcement
Welcome
Recent Posts
Vue3处理表格巨量数据2025-12-12
前端分页功能的实现方法2025-12-07
虚拟列表2025-12-07
npm教程2025-11-30
弹性盒布局2025-10-26
Tags
Kotlin语法 前端 Kotlin practice 安卓开发 安卓知识类 汇编
Archives
  • December 2025 3
  • November 2025 1
  • October 2025 4
  • July 2025 1
  • May 2025 6
  • April 2025 20
  • March 2025 27
  • February 2025 9
Website Info
Article Count :
71
Total Word Count :
96.9k
Unique Visitors :
Page Views :
Last Update :
©2019 - 2025 By GoshenC
Framework Hexo|Theme Butterfly
Search
Loading Database