Lifecycles用法示例
下面提供一个使用 Kotlin 讲解 Android Lifecycle 的示例,包含 LifecycleObserver、LiveData 和 ViewModel 的使用,帮助你理解如何在 Kotlin 中管理 Activity 的生命周期。 1. 添加依赖在你的 build.gradle 文件中添加 Lifecycle 相关依赖(版本号可根据项目需求调整): 1234567dependencies { // Lifecycle 组件依赖 implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" // 单独使用 ViewModel 与 LiveData(推荐这种方式,依赖更明确) implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0" implementation...
CollapsingToolbarLayout用法详解
一、概述CollapsingToolbarLayout 是 Android Material Components 库中的一个布局组件,主要用于创建可以在滚动过程中折叠和展开的应用栏(AppBar)。它通常与 AppBarLayout 一起使用,以便为应用的顶部区域提供丰富的交互效果。CollapsingToolbarLayout 是实现 Material Design 风格中的可折叠应用栏的重要工具,广泛应用于那些需要动态调整应用栏内容的场景。 CollapsingToolbarLayout 可以结合 Toolbar、ImageView 等控件一起使用,支持滚动时自动折叠、动态改变标题、背景等效果。它能够在用户滚动页面时提供丰富的视觉反馈,提高用户体验。 二、依赖与导入在使用 CollapsingToolbarLayout 之前,确保你的项目已加入 Material Components 的依赖。可以在项目的 build.gradle 文件中添加以下内容: 123dependencies { implementation...
AppbarLayout用法详解
一、概述AppBarLayout 是 Android Material Components 库中的一个重要视图组件,作为布局的一部分,通常用于实现可滚动的应用栏。它通过与其他布局控件(如 Toolbar、CollapsingToolbarLayout)结合使用,支持一些常见的交互效果,比如折叠和展开的动画效果。AppBarLayout 主要用来创建符合 Material Design 风格的顶部区域,它为复杂的应用栏交互提供了强大的支持,尤其是在多层滚动视图中。 主要特性: 滚动行为:支持和子视图(如 RecyclerView)的滚动交互,可以折叠和展开应用栏。 折叠与展开:通过 CollapsingToolbarLayout 支持应用栏的折叠与展开动画。 Material Design 支持:内置 Material Design 风格,符合现代 Android 应用的设计规范。 二、依赖与导入AppBarLayout 是 Android Material Components 库的一部分,在使用时需要确保已经在项目的 build.gradle 文件中添加了...
MaterialCardView用法详解
一、概述MaterialCardView 是 Android Material Components 库中的一个视图控件,它基于 CardView 进行了增强,加入了更多 Material Design 风格的特性,使其更适合现代 Android 应用的设计要求。MaterialCardView 提供了简洁的卡片式界面,能够方便地实现圆角、阴影、背景等效果,从而帮助开发者构建更加美观、易于交互的 UI 元素。 与 CardView 相比,MaterialCardView 支持更多的功能,例如: 形状:支持更复杂的形状,除了圆角外,还支持自定义的形状和阴影效果。 背景:可以设置与背景相关的更多属性。 Ripple 效果:内置 Material Design 风格的水波纹点击效果。 MaterialCardView 适合用于展示内容卡片、列表项、照片、产品展示等,尤其是需要圆角和阴影效果的场景。 二、依赖与导入在使用 MaterialCardView 之前,需要确保你的项目已经加入了 Material Components 库的依赖。可以在项目的 build.gradle...
CoordinatorLayout用法详解
一、概述CoordinatorLayout 是 Android 支持库(Support Library)提供的一个高级布局容器,它继承自 FrameLayout,是一个强大的布局容器,能够协调并支持更复杂的交互设计,尤其是在 Material Design 中。它提供了一种灵活的方式来协作处理子视图之间的行为,如与 AppBarLayout、FloatingActionButton、Snackbar 等组件的交互效果。 CoordinatorLayout 主要目的是提供一种“协调”各个视图行为的机制,可以通过自定义或现成的行为(Behavior)来控制子视图的滑动、动画和响应。 二、CoordinatorLayout 特性CoordinatorLayout 提供了以下几个重要特性: 响应滚动和手势:CoordinatorLayout 能够捕捉子视图的滚动和手势事件,并根据需要调整布局位置。 子视图行为协调:可以让不同的视图(如 AppBarLayout 和 FloatingActionButton)之间协调运动,确保界面一致性和流畅的过渡效果。 支持自定义行为:通过自定义...
Snackbar用法详解
一、概述Snackbar 是 Android 提供的一种简洁、轻量级的提示框,用于在屏幕底部展示短暂的信息提示。它的设计初衷是为了提供一种比 Toast 更具互动性和灵活性的提示方式。与 Toast 的静态提示不同,Snackbar 提供了更多的交互功能,例如:支持撤销操作、自动隐藏和手动关闭。 Snackbar 适用于展示短期通知,尤其是需要用户进行交互(如撤销操作)的场景。 二、Snackbar 与 Toast 的对比 特性 Snackbar Toast 显示位置 屏幕底部 屏幕中间或底部 显示时间 可定制(一般显示 2-3 秒) 自动消失(一般 2-3 秒) 可交互性 支持按钮操作(如撤销) 无法交互 可以设置自定义动作 可以添加撤销按钮、动作 只能显示文本 Snackbar 的主要优势在于支持交互操作和自定义动作,比如用户可以点击“撤销”按钮撤回某个操作,而 Toast 仅是展示提示信息并自动消失。 三、Snackbar 基本使用1. 导入必要的依赖在使用 Snackbar 之前,首先需要确保你的项目已经包含了 Material...
NavigationView详解
📌 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详解
📘 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使用详解
TintList 使用技术文档本文档详细介绍 Android 开发中 TintList 的概念、作用以及使用方法,帮助开发者掌握如何利用 TintList 动态改变控件的颜色。 1. 概述在 Android 应用开发中,经常需要对控件的背景、图标等元素进行着色处理,以便实现动态主题、状态变化反馈或与应用整体风格保持一致。ColorStateList 是 Android 中一种描述颜色状态的对象,而 TintList 则通常指控件的背景或图标的“着色列表”,其底层实现就是使用 ColorStateList 对控件进行着色处理。 例如,许多控件(如 Button、ImageView、FloatingActionButton 等)提供了 setBackgroundTintList()、setImageTintList() 等方法,使得开发者可以轻松地为控件设置不同状态下的颜色。 2. ColorStateList 基础具体可看我的另一篇文章ColorStateList使用详解 | GoshenC 2.1 什么是 ColorStateListColorStateList...
ColorStateList使用详解
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...