
jetpack compose
文章平均质量分 88
Calvin880828
关注Android最新技术,开发Android相关的技术
展开
-
一库搞定多平台分页:Paging-Multiplatform让开发变简单!
Paging-Multiplatform通过为AndroidX Paging增加更多的Kotlin/Multiplatform目标,并为iOS提供UI组件,使得跨平台分页变得更加简单和高效。如果你正在开发一个需要在多个平台上共享分页逻辑的应用程序,不妨试试Paging-Multiplatform,它会让你的开发过程变得轻松愉快!不管你是安卓大佬还是iOS大神,Paging-Multiplatform都能让你在分页的海洋中如鱼得水,快来试试吧!原创 2024-07-31 10:35:20 · 268 阅读 · 0 评论 -
使用Jetpack Compose实现具有多选功能的图片网格
在现代应用中,多选功能是一项常见且重要的需求。例如,Google Photos允许用户轻松选择多个照片进行分享、添加到相册或删除。原创 2024-06-29 00:01:23 · 1282 阅读 · 0 评论 -
Drag Select Compose:实现多平台图片多选功能的利器
Drag Select Compose库使我们能够轻松实现复杂的图片多选功能,同时支持多种平台。通过该库,我们不仅可以简化开发流程,还可以为用户提供流畅的交互体验。希望通过这篇博客,您能更好地理解和应用这一强大的工具。了解更多信息,请访问Drag Select Compose文档。原创 2024-06-29 00:00:07 · 1001 阅读 · 0 评论 -
使用Jetpack Compose为Android App创建自定义页面指示器
下面的代码示例展示了如何创建一个水平分页器,并为其添加一个页面指示器。页面指示器提供视觉提示,显示总页数以及当前页的位置。原创 2024-06-21 16:42:09 · 1160 阅读 · 1 评论 -
使用Jetpack Compose创建自定义可滚动网格
通过使用Jetpack Compose中的和,开发者可以轻松创建高效、灵活的可滚动网格布局。这些组合不仅简化了代码,还提高了应用的性能和用户体验。无论是展示大量数据还是动态内容,这些工具都能满足需求。希望本篇博客能够帮助您在实际项目中更好地运用Jetpack Compose创建自定义网格布局。如果您有任何问题或建议,欢迎在评论区交流讨论。原创 2024-06-21 16:41:49 · 592 阅读 · 0 评论 -
在Android Jetpack Compose中使用Hilt依赖注入
假设我们有一个仅在特定Activity中使用的对象,可以为其定义Activity作用域。// 业务逻辑@Inject) {// 使用someDependencyHilt中的依赖组件具有固定的生命周期,无法更改,因此我们可以创建一个新的组件。由于它不是预定义的组件,Hilt不会知道在何处创建它或保留多长时间,所以这些部分必须由我们自己实现。自定义组件需要两样东西:一个父组件(在本例中是ActivityComponent)和一个用于构建它的Builder接口。原创 2024-06-11 18:19:10 · 1904 阅读 · 0 评论 -
Jetpack Compose Navigation 遇上类型安全
Host—— 在您的布局中显示当前“目标”(destination)的 UI 元素。Graph—— 定义应用程序中所有可能的目标的数据结构。Controller—— 管理目标之间导航并保存目标的后向堆栈的中央协调器。Kotlin DSL 只是构建导航图的一种方式。手动构造 NavGraph 实例并添加目标(例如 Fragment 目标)以构建图。从导航 XML 文件中膨胀您的图,并手动编辑它或通过导航编辑器进行编辑。使用 Kotlin DSL 直接在 Kotlin 代码中构建导航图。原创 2024-06-11 18:18:45 · 758 阅读 · 0 评论 -
使用 Jetpack Compose 实现 Android 偏好设置分类界面
使用 Jetpack Compose 的 Material Design 组件或自定义样式技术为您的偏好设置界面应用主题和样式,以创建视觉上吸引人和一致的用户界面。当偏好设置的值更改时,更新相应的 state 变量并触发重新组合以反映 UI 中的变化。请记住,为每种偏好设置类型提供适当的标签、描述和错误处理,以增强用户体验并使偏好设置界面直观且易于使用。,创建可组合函数来处理每种偏好设置类型。这些函数将定义每个偏好设置项的 UI。首先,定义数据模型来表示您的应用程序的偏好设置类别和偏好设置。原创 2024-06-05 13:57:44 · 642 阅读 · 1 评论 -
探索Android Sunflower:打造完美园艺体验的Jetpack应用
Android Sunflower项目是一个开源的园艺应用程序,旨在帮助用户管理和记录自己的花园。无论是花匠还是园艺爱好者,都可以通过Android Sunflower来探索、学习和享受园艺的乐趣。Android Sunflower的主要目的是展示如何使用Android Jetpack的各种组件和库来构建一个高质量的应用程序。该项目旨在演示最佳的开发实践和技术选型,使开发者能够了解如何正确地利用Jetpack提供的工具和功能,以提高应用程序的性能、稳定性和可维护性。原创 2024-02-16 23:41:36 · 1292 阅读 · 0 评论 -
推荐你10个Jetpack Compose完整的samples
Jetpack Compose 是 Android 中新一代的 UI 工具包,它为 Android 应用程序提供了更加简单、强大和可组合的方式来创建漂亮和灵活的用户界面。然而,学习新技术并不容易,因此本文将向您推荐 10 个 Jetpack Compose 完整的示例,这些示例将帮助您了解如何使用 Jetpack Compose 构建应用程序,并提供实用的示例代码,让您轻松上手。原创 2024-01-11 12:24:16 · 1396 阅读 · 0 评论 -
超过80%大厂都在用,Jetpack Compose现代Android界面开发的未来
Jetpack Compose是一款全新的Android UI工具包,旨在简化和改进Android应用程序的界面开发过程。与传统的XML布局文件和Java代码相比,Jetpack Compose采用了声明式的方式来构建用户界面。通过使用Kotlin编程语言,Jetpack Compose提供了一种更简洁、更直观的UI开发体验。Jetpack Compose是一个基于函数式编程模型的UI框架,它允许开发者以声明式的方式描述界面的外观和行为。原创 2024-01-10 18:42:00 · 2839 阅读 · 0 评论 -
2023年的Android开发:演进之年
在2023年,安卓开发迎来了许多新功能和里程碑,让我们来看看其中的一些关键功能。原创 2023-12-30 16:57:13 · 1472 阅读 · 0 评论 -
Jetpack Compose中适应性布局的新API
针对大屏幕优化的新组合件。使用新的Material适应性布局,为手机、可折叠设备和平板电脑构建应用程序变得更加简单!市场上各种不同尺寸的Android设备的存在挑战了构建应用程序时对屏幕尺寸的通常假设。开发者不应该假设屏幕是平面的,也不应该假设应用程序启动的屏幕就是当前显示的屏幕。相反,开发者应该根据当前运行的设备来调整应用程序,以便对用户更有用。Android设备有各种尺寸的屏幕。原创 2023-11-27 11:34:04 · 491 阅读 · 0 评论 -
在Android上使用Jetpack Compose定制下拉刷新
在Jetpack Compose中向LazyList添加下拉刷新非常简单。说真的,只需几行代码。然而,默认的外观和感觉并不是那么令人满意。我们希望做得更好一些,类似于iOS版本:当用户向下拉动列表时,移动列表并向用户提供反馈,告诉用户如果继续下拉,列表将要刷新,并显示上次刷新的时间。我们还希望增加默认的刷新阈值,因为在向上滚动时我们意外地刷新了页面。幸运的是,使用Compose实现这一点相当容易。在本文中,我将尝试展示如何构建一个简化的演示应用程序,如下所示:我准备了一个简单的演示样本。原创 2023-11-13 14:07:30 · 1026 阅读 · 0 评论 -
使用Android Jetpack Compose渲染效果打造酷炫的动画效果
RenderEffect允许你向UI组件应用视觉效果。这些效果可以包括模糊、自定义着色器或者你能想象到的任何其他视觉转换。然而,RenderEffect仅适用于API 31及以上版本。在我们的示例中,我们将使用RenderEffect为我们的可扩展浮动按钮和一些额外组件创建模糊和着色器效果。原创 2023-11-07 22:44:44 · 2515 阅读 · 1 评论 -
使用Jetpack Compose从图库中选择图片
Jetpack Compose是一种用于构建Android应用界面的现代工具包。它提供了一种声明性的方式来创建用户界面,使开发者能够更轻松地构建交互式和可定制化的应用程序。本文将介绍如何使用Jetpack Compose从图库中选择图片,并显示在应用程序界面上。首先,我们需要添加一个名为Coil的依赖项,用于在应用程序中显示图片。原创 2023-10-31 11:34:06 · 948 阅读 · 0 评论 -
在Jetpack Compose中使用Paging 3实现无限滚动
本文将介绍在Jetpack Compose中进行分页加载。分页加载意味着一次只加载应用程序中的小数据块。假设您在服务器上有大量数据,并且您希望在UI上显示这些数据。显然,您不希望一次性加载所有数据。您希望每次只加载少量数据。这就是分页的作用,当您在应用程序中向上滚动时,它会加载下一组数据,通过这种方式可以提高应用程序的性能。基本上,我们将构建一个非常简单的应用程序,通过使用paging 3库在RecyclerView上显示狗的图像。最好的部分是您可以进行无限滚动,而不必担心应用程序的性能问题。原创 2023-10-30 10:14:13 · 667 阅读 · 0 评论 -
使用Jetpack Compose构建Flappy Musketeer街机游戏
一步一步创建沉浸式移动游戏的指南。原创 2023-10-24 15:51:27 · 607 阅读 · 0 评论 -
Compose Navigation用于Android多module项目最佳实践
在本文中,我们将采取同一个项目并扩展它以实现最佳实践。该项目具有文章、设置和关于屏幕的抽屉导航。项目的输出如下所示:当你有一个多屏幕的项目时,每个屏幕至少必须有自己单独的模块。在我们的例子中,我为每个屏幕创建了三个单独的模块,并在应用程序模块中使用它们来实现基本的导航。原创 2023-10-09 10:40:18 · 810 阅读 · 0 评论 -
谈谈Android Jetpack Compose中的状态提升
在本文中,我们将了解Jetpack Compose中的状态提升(在深入研究这个主题之前,让我们先了解一下Jetpack Compose中的有状态(Stateful)和无状态(Stateless)组合。原创 2023-10-09 09:51:47 · 258 阅读 · 0 评论 -
Jetpack Compose中的Constraint Layout
我将向您展示如何使用Constraint Layout以更少的代码构建复杂UI。在Jetpack Compose中,确实是一个强大的布局系统,允许您使用组合件的相对位置创建复杂且响应式的布局。以下是使用Jetpack Compose中的当您需要创建复杂和自定义布局时,无法轻松地使用简单的行和列来实现,这时是理想的选择。通过使用精确定位组合件,而不是嵌套多个行和列,可以实现这种复杂的布局。您可以使用约束条件相对放置组合件。当您希望一个组合件与另一个组合件相邻或对齐时,这非常有用。原创 2023-09-28 11:56:38 · 619 阅读 · 0 评论 -
减少Jetpack Compose中图像/图标(Images/Icons)的重新组合(Recomposition)
一个简单的技巧来提高你的Compose应用的性能在检查应用程序以提高列表滚动性能时,我意识到图像和图标在它们的状态没有改变时仍然进行了重新组合!相当奇怪,不是吗?例如…counter当计数器状态发生变化时,Text1 被跳过,而图像则一直重新组合。左边的数字表示重新组合次数,右边的数字表示跳过的重新组合次数显然,问题在于Painter不被认为是稳定类型。这基本上意味着编译器无法可靠地确定对象是否发生了变化,导致图像一直重新组合。原创 2023-09-27 17:53:04 · 296 阅读 · 0 评论 -
Jetpack Compose中的Navigation从入门到精通完全指南
导航帮助您理解应用程序在不同组件间的移动方式。Android JetPack Navigation可以帮助您以简单的方式实现高级导航。导航组件由三个主要部分组成:导航图(Navigation Graph): 这是一个资源,它将所有与导航相关的数据集中在一起。这包括应用程序中的所有位置(称为目标位置)以及用户在应用程序中可能采取的路径。它就像一本大书,里面包含了您在应用程序中可以访问的所有地方以及如何在它们之间移动的方法。可以将其视为地图和指南的结合。原创 2023-09-25 10:57:03 · 4538 阅读 · 0 评论 -
Jetpack Compose Accompanist最近的更新-2023年8月25日
这篇文章更新了Jetpack Compose Accompanist库的情况,介绍了其目的和最新上传的功能,包括Pager、Flow Layout、Navigation Animation和Insets-UI。同时,提到了对一些库未来发展的讨论。github地址文档地址标记为废弃组件如下这些库都比较小,如果你满意它们的当前功能,我们建议你复制它们的实现并根据自己的需求进行定制。这些库将在两个Compose BOM版本中以废弃状态保留,然后将被删除。原创 2023-09-01 15:43:39 · 909 阅读 · 0 评论 -
还在为Compose组件管理苦恼?Jetpack Compose的版本控制清单(BOM)扫除你的苦恼
Jetpack Compose通过简化和提高效率,彻底改革了Android UI开发。其中一个有助于此的功能是Jetpack Compose版本控制清单(BOM)。本文旨在全面了解BOM是什么,其优势、限制以及如何在你的Jetpack Compose项目中使用它。我们还将提供带有注释的代码片段,以便更好地理解。原创 2023-08-27 14:16:42 · 497 阅读 · 0 评论 -
Jetpack Compose UI架构
Jetpack Compose是我职业生涯中最激动人心的事。它改变了我工作和问题思考的方式,引入了易用且灵活的工具,几乎可轻松实现各种功能。早期在生产项目中尝试了Jetpack Compose后,我迅速着迷。尽管我已有使用Compose创建UI的经验,但对新的Jetpack Compose驱动特性的组织和架构引发了许多反复。本文目标是分享这些经验,提出可扩展、易用、易操作的架构,并接受反馈以进一步改进。免责声明:本文仅涉及UI部分,其余应用构建遵循经典Clean Architecture方法。原创 2023-08-24 10:33:56 · 1150 阅读 · 1 评论 -
Android Jetpack Compose中使用字段验证的方法
数据验证是创建健壮且用户友好的Android应用程序的关键部分。随着现代UI工具包Jetpack Compose的引入,处理字段验证变得更加高效和直观。在这篇文章中,我们将探讨如何在Android应用中使用Jetpack Compose进行字段验证。原创 2023-08-23 10:48:32 · 607 阅读 · 0 评论 -
使用Jetpack Compose构建可折叠Card
扩展卡片在Android应用开发中广受欢迎,它们可以让开发者打造干净紧凑的用户界面,同时可以轻松展开,显示额外的内容。通过巧妙地使用扩展卡片,开发者可以为用户提供流畅、直观的体验,用户可以在无需切换到新屏幕或环境的情况下访问更详细的信息。这在移动应用中特别有用,因为屏幕空间有限,用户通常处于快速移动中。通过采用扩展卡片呈现信息,开发者可以减少点击和滑动次数,从而提升用户体验。扩展卡片是增强用户体验、使应用脱颖而出的绝佳方式。这只是展开式卡片在Android应用开发中的几个应用示例。原创 2023-08-23 10:29:54 · 901 阅读 · 0 评论 -
使用Jetpack Compose的镜像效果
您是否曾想过在列表或一般情况下为图像创建镜像效果?有了强大的Jetpack Compose UI工具包,这变得简单而容易。正如您所看到的,此效果包括以下内容现在,让我们看看如何使用Jetpack Compose完成每个步骤这是包含带有固定高度300 dp的图像的原始图像组合,现在让我们看看如何为其制作镜像图像。原创 2023-08-22 13:46:36 · 377 阅读 · 0 评论 -
Jetpack Compose:探索声明式UI开发的未来
在传统的命令式UI开发中,开发人员需要编写大量的代码来描述界面的外观和行为。这些代码通常包括繁琐的布局设置、手动管理UI组件的状态和事件处理逻辑。这种方式容易引发bug,而且代码复杂,不易维护。与之相反,声明式UI开发采用一种更直观的方式来构建用户界面。在声明式UI中,开发人员只需描述期望的界面外观,而不必关心如何实现。这种方式更加接近人类思维,类似于描述你想要的界面样式,而由框架自动处理底层细节。优势:声明式UI代码更加简洁、易于理解,让开发人员专注于界面的外观和交互。原创 2023-08-17 10:20:14 · 1485 阅读 · 0 评论 -
拥抱创新:用Kotlin开发高效Android应用
Android Jetpack由一系列库组成,涵盖了各种功能,从简化UI开发到数据持久化和后台任务管理。这些组件旨在帮助开发者摆脱繁琐的任务,专注于构建出色的Android应用。Jetpack Compose是一种用于构建用户界面的现代UI工具包,它采用了声明式的方式来描述UI的外观和行为。与传统的基于XML布局的方式不同,Jetpack Compose使用Kotlin代码来构建UI,使得UI代码更加简洁、直观和可组合。原创 2023-08-04 17:19:58 · 1627 阅读 · 0 评论 -
介绍Nibel:面向基于Fragment的应用的导航库,支持无缝使用Jetpack Compose
介绍Nibel:面向基于Fragment的应用的导航库,支持在依赖于Fragment的Android应用中无缝使用Jetpack Compose。我们构建Nibel时的目标是,为团队创建新功能时提供真正的Jetpack Compose体验,同时自动保持与代码库的兼容性。Nibel支持单模块和多模块导航,特别适用于在功能模块之间进行导航,这些功能模块之间不直接依赖于彼此。在本文中,您将了解如何在项目中开始使用Nibel,以及Jetpack Compose的常见采用场景和Nibel提供的自定义选项。原创 2023-08-03 10:21:30 · 448 阅读 · 0 评论 -
使用Jetpack Compose构建时间轴组件的逐步指南
最近,我们开发一个时间轴组件,显示用户与客户之间的对话。每个对话节点应具有自己的颜色,取决于消息的状态,并且连接消息的线条形成颜色之间的渐变过渡。我们慷慨地估计了未来的工作,并开始使用Compose来实现它。令人高兴的是,仅仅两个小时后,我们就拥有了一个完全功能的时间轴组件。因此,我们写了这篇文章,为其他开发者提供一些在使用Compose解决类似挑战时的灵感。Composable在深入探讨之前,让我们从Dribbble上的一些时间轴示例中获取一些灵感:想象一下候选人与人力资源代表之间的对话。原创 2023-08-01 18:26:07 · 635 阅读 · 0 评论 -
使用Jetpack Compose和Motion Layout创建交互式UI
通过阅读本博客,您将学会使用Motion Layout实现这种精致的动画效果:让我们从简单的介绍开始。作为Android开发者,您可能会遇到需要布局动画的情况,有时甚至需要变形样式的布局动画。这就是Motion Layout的用武之地。它填补了布局转换和复杂动作处理之间的空白,提供了一系列位于属性动画框架功能之间的功能。虽然Motion Layout在XML视图中已经存在了一段时间,但在Jetpack Compose中还是相对较新,并且仍在不断发展。在这份全面的指南中,我们将探讨Jetpack Comp原创 2023-07-28 18:05:30 · 792 阅读 · 0 评论 -
使用Jetpack Glance创建Android Widget
Jetpack Glance是一个使用Kotlin API创建小型、轻量级和高效的应用程序小部件的框架。它设计用于显示用户需要一目了然的信息。原创 2023-07-28 12:16:42 · 606 阅读 · 0 评论 -
在 Jetpack Compose 中实现自定义分页指示器
在 Jetpack Compose 中,我们可以创建自定义的分页指示器,从而增强用户体验。分页指示器是指在应用程序中使用的指示器,用于显示当前活动页的位置,通常在滑动视图或 ViewPager 中使用。使用 Jetpack Compose,我们可以轻松地定制这些指示器,使其适应我们的应用程序的外观和感觉。在这篇文章中,我们将学习如何实现自定义的分页指示器,从而提升用户体验。原创 2023-07-25 09:44:31 · 979 阅读 · 2 评论 -
Android中构建多视图 RecyclerView的正确打开方式
漂亮的UI能极大提高用户留存率,相反糟糕的UI将导致App安装率下降。UI体验对用户留存率有特别大的影响,较差的体验app我可能用不了2s就要卸载掉。原创 2023-06-29 10:28:41 · 763 阅读 · 0 评论 -
使用Jetpack Compose在canvas上制作一个酷炫的时钟
秒和分钟刻度盘(seconds and minutes dials):这些是手表表盘上的旋转圆圈。两个刻度盘是相同的,只是半径不同。步数(steps):刻度盘被分为60个步骤,有两种类型的步骤:普通步和五步。步数标签(step Labels):五步间隔上标有值,例如[00,05,10…]。小时标签(hour Label):中央标签以24小时制表示当天的小时数。分钟-秒钟叠加(minutes-Second Overlay):为了突出当前的分钟和秒钟,一个圆角矩形被放置在表盘右侧中心位置。原创 2023-06-27 11:14:24 · 517 阅读 · 0 评论 -
Jetpack compose中实现流畅的Theme选择器动画
Jetpack Compose改变了我们在Android上管理主题的方式。它提供了更大的灵活性,使我们能够以更多的方式定义用户界面(UI)。此外,Compose中的动画系统使我们能够轻松创建令人印象深刻和愉悦的UI动画。在本教程中,我将结合这两个特性,创建一个在主题之间过渡的动画。最终结果将如下所示:为了创建这个动画,我们将使用AnimatedContent。它是一种工具,可以根据状态显示不同的内容。当状态发生变化时,内容会平稳地从前一个状态过渡到新的状态。原创 2023-06-26 13:54:24 · 568 阅读 · 0 评论 -
简单的Image Picker:使用Jetpack Compose无需权限申请
总之,我们已经了解了如何使用 Kotlin 和 Jetpack Compose 轻松处理 Android 应用程序中的本地图像选择。通过集成用户友好的图像选择器和存储解决方案,我们消除了复杂的权限处理需求,同时实现了对图像 URI 的无缝存储和检索。这种方法简化了开发过程,增强了用户体验,使得创建能够无缝处理本地图像选择的吸引人应用程序变得更加容易。原创 2023-06-26 10:07:28 · 1048 阅读 · 0 评论