Android Jetpack Compose 别裁
文章平均质量分 71
书中有颜如玉
我一生都要朝着高处攀登,不为虚幻的显赫和荣耀, 只因那里没有同类的倾轧,更少天灾的侵害。 我必须保持高昂的热情,不惜忍辱负重, 当我置身于群山之巅面对天高地阔,谁能看见我狰狞的微笑!
展开
-
为Android构建现代应用——应用导航设计
NavHost:它是负责在视图中显示导航结果的组件。导航的结果由NavigationController和导航图中给出的定义决定。AppSoGraph:它是导航图的实现。它应该根据指定的路由将导航指向哪个视图或可组合对象。它们是可以通过导航到达的应用程序的不同屏幕。无论导航是从选项菜单、链接、按钮还是任何其他活动代理激活的,都无关紧要。每个屏幕都有一个与之关联的唯一路由。一般导航图我们将继续在OrderNow中包含这些元素首先,创建一个名为common -> navigation的新遍历目录。原创 2023-08-03 17:08:28 · 742 阅读 · 0 评论 -
为Android构建现代应用——主体结构
在本章中,我们已经构建了OrderNow项目的初始结构。这里定义和实现的组件将是下一章继续讨论导航的基础。随着我们阅读这些章节,我们将改进OrderNow的每个部分的实现,因此.我们的电子贸易将以最佳方式设计和实施。原创 2023-07-27 15:29:41 · 529 阅读 · 0 评论 -
为Android构建现代应用——应用架构
我们将依照Google在《应用架构指南》中推荐的最佳实践和架构指南来构建OrderNow的架构。这些定义包括通过各层定义组件的一些Clean Architecture原则。在应用程序中,我们将定义以下主要层次:• 用户界面(UI)层• 领域层• 数据层这一层组合了UI元素,Views视图(composable functions可组合函数),ViewModels和表示层的实用程序,例如格式应用器和动画。 设计这一层的注意事项包括:• 对于状态处理,遵循设计原则中描述的原则。• 对于每个屏幕,将实现相应的Vi原创 2023-07-26 11:56:57 · 1550 阅读 · 0 评论 -
为Android构建现代应用——OrderNow(实战应用介绍)
我们不仅将拥有源代码并尝试猜测它是如何构建的,而且还知道在实现的设计和技术级别做出的每个决策。在下一篇中,我将介绍示例应用程序中的体系结构和设计决策。Coil: 我们使用一个库来在我们的应用程序中加载远程或本地图片,通过Kotlin并支持Jetpack Compose。OrderNow 是一个移动电子商务应用的最小可行产品(MVP)示例,我们将在本书中设计和实现它。本节总结了OrderNow的技术特征,以便了解在实现中使用的工具和设计指南。Navigation:我们将用来实现应用中不同屏幕导航的架构组件。原创 2023-07-25 11:41:09 · 286 阅读 · 0 评论 -
为Android构建现代应用—— 练习状态管理
在这个练习中,我们回顾了使用View或ViewModel作为真实源来管理状态和事件的方法。此外,我们使用了一些技术来更好地组织状态和事件的结构,以便有一个更好组织和易于跟踪的实现。在下一章中,我们将看到“立即下单”应用程序的总结,这是一个电子商务应用,我们将实现它,以解释现代Android应用开发的概念和技术。原创 2023-07-24 16:16:27 · 310 阅读 · 0 评论 -
为Android构建现代应用——设计原则
在这种情况下,将多个状态建模到一个合并的状态类中效果非常好,因为这些变量是相关的,甚至定义了其他变量的值。例如,在前面的图中,元素User name、Phone number、Address,甚至Pay Order按钮可以被组织到一个单一的UI组件中,并且其状态在一个叫做FormUiState的单一状态中表示。可以将事件注入循环的外部因素是用户交互,如列表中的滚动,按钮上的点击,以及与其他应用层的交互,如来自仓库的响应或用户的响应,后台计时器,或者可能是推送通知的到达。也就是说,状态代表一个原始变量。原创 2023-07-22 17:19:40 · 538 阅读 · 0 评论 -
Jetpack compose实现MVI
MVI(Model-View-Intent)是一种前端架构模式,其目标是使状态管理更具可预测性,便于开发和调试。它将应用程序视为一个函数,该函数接受一系列的意图(Intent)作为输入,然后返回一个新的状态作为输出。在这个 Composable 中,我们观察 ViewModel 中的状态,并根据状态的变化来显示不同的界面。以上就是在 Jetpack Compose 中使用 MVI 架构模式的一个基本例子,你可以根据你的需求进行扩展和修改。属性来存储当前的状态,并有一个。方法来处理意图并更新状态。原创 2023-07-17 15:09:13 · 495 阅读 · 0 评论 -
为现有应用程序设置Compose
Jetpack Compose 使用物料清单 (BOM) 进行交付,以保持所有库组的版本同步。要开始使用 Compose,您需要首先向项目添加一些构建配置。将以下定义添加到您的应用程序。中了解更多相关信息。原创 2023-07-11 16:45:09 · 404 阅读 · 0 评论 -
在 Jetpack Compose 中使用 ViewPager
Jetpack Compose 是一个现代化的,声明式的 UI 工具包,让我们可以更方便地构建原生 Android UI。在本篇文章中,我们将会讨论如何在 Jetpack Compose 中使用ViewPager。ViewPager是一个提供左右滑动切换视图的 UI 组件。在传统的 Android 开发中,我们经常使用ViewPager来实现诸如引导页面,图片浏览,标签页面切换等功能。然而在 Jetpack Compose 中,我们并没有直接的ViewPager组件,而是通过结合Pager。原创 2023-07-10 15:45:58 · 700 阅读 · 0 评论 -
在 Jetpack Compose 中使用 TopAppBar
Jetpack Compose 是一个现代化的、声明式的 UI 工具包,它使我们能够更方便地构建 Android 的用户界面。在本篇文章中,我们将介绍如何在 Jetpack Compose 中使用TopAppBar来创建顶部应用栏。TopAppBar是一个在屏幕顶部的应用栏,提供了在 Material Design 风格的应用中实现导航和执行操作的一种方式。在TopAppBar中,我们通常会放置一个导航图标(比如 "汉堡" 菜单图标),标题,以及一些操作按钮。原创 2023-07-10 15:34:43 · 689 阅读 · 0 评论 -
在 Jetpack Compose 中使用 BottomDrawer
是一种 UI 元素,通常被用来存放应用的导航控件或者提供一些与当前内容相关的额外操作。如同字面意思,它会从屏幕底部滑出,覆盖屏幕的一部分。原创 2023-07-10 15:17:56 · 448 阅读 · 0 评论 -
在 Jetpack Compose 中使用 BottomAppBar
Jetpack Compose 是一个现代化的、声明式的 UI 工具包,它使我们能够更方便地构建 Android 的用户界面。本篇文章将介绍如何在 Jetpack Compose 中使用来创建底部应用栏。是一个在屏幕底部的应用栏,提供了在 Material Design 风格的应用中实现导航和执行操作的一种方式。在中,我们通常会放置一些操作按钮,如 FloatingActionButton、菜单项、以及其他可交互的图标。原创 2023-07-10 10:41:56 · 800 阅读 · 0 评论 -
在 Jetpack Compose 中使用DatePicker
然而,你可以通过使用 Material Compose 组件创建一个自定义的 DatePicker 对话框。这个函数接收三个参数:一个布尔值表示对话框是否可见,一个关闭对话框的函数,以及一个日期选择后的回调函数。是 Java 8 新引入的时间 API 中的方法,用于创建一个新的日期实例。它接收三个参数:年、月、日,都是整型值。如果你使用的是 ThreeTenABP 库,你应该使用。在你的代码中,你正在尝试使用选定的年份、月份和日期来创建一个。将会创建一个表示 2023 年 7 月 10 日的。原创 2023-07-10 10:08:33 · 753 阅读 · 0 评论 -
在 Jetpack Compose 中创建 BottomAppBar
Jetpack Compose 是 Android 的现代 UI 工具包,它使得构建美观且功能强大的应用变得更加简单。在本文中,我们将探讨如何使用 Jetpack Compose 创建一个 BottomAppBar。原创 2023-07-08 11:50:38 · 450 阅读 · 0 评论 -
Jetpack compose——深入了解Diffing
需要注意的是,为了使 diffing 能够正确工作,你需要确保你的 Composable 函数是纯函数。例如,如果你有一个包含 1000 个项目的列表,而你只是在列表的末尾添加了一个项目,那么 Compose 只会更新那个新添加的项目,而不会触碰其他 999 个项目。相反,它会创建一个新的 UI 树,并将其与旧的 UI 树进行比较。即使你的应用有大量的 UI 和频繁的状态更新,Compose 也能确保 UI 的流畅性。即使你的应用有大量的 UI 和频繁的状态更新,Compose 也能确保 UI 的流畅性。原创 2023-07-08 11:02:39 · 406 阅读 · 0 评论 -
Jetpack compose——深入了解recomposition的工作原理
在这种模式中,你只需描述 UI 应该如何根据应用的状态进行显示,而 Compose 会在状态发生变化时自动更新 UI。当可观察的状态发生变化时,Compose 会找到依赖这些状态的所有 Composable 函数,并重新调用它们。创建状态时,Compose 编译器插件会自动跟踪这些状态。开发者只需要描述 UI 在给定状态下应该如何显示,框架会在状态发生变化时自动重新调用这些函数,从而更新 UI。在命令式 UI 框架中,开发者需要手动管理 UI 的状态和生命周期,当应用的状态发生变化时,需要手动更新 UI。原创 2023-07-08 10:42:53 · 669 阅读 · 0 评论 -
Jetpack Compose与Accompanist:改变Android UI开发的方式
Jetpack Compose是Google推出的一种现代化的,声明式的Android UI开发框架。在Android开发中,UI开发一直是一个重要的部分。Google推出的Jetpack Compose库为开发者提供了一种全新的声明式UI工具,使得UI开发变得更加简单和直观。Accompanist是一个为Jetpack Compose提供的库,它包含了一系列有用的扩展和工具。总的来说,Jetpack Compose和Accompanist为Android开发者提供了一种全新的,强大的UI开发工具。原创 2023-07-07 14:22:02 · 871 阅读 · 0 评论 -
使用Jetpack Compose中的SwipeRefresh实现下拉刷新
SwipeRefresh是Jetpack Compose中的一个组件,它可以用来实现下拉刷新的功能。这个组件的主要优点是它的易用性和灵活性,你可以轻松地添加下拉刷新功能到你的应用中,而且可以自定义刷新时的行为。原创 2023-07-06 14:13:20 · 803 阅读 · 0 评论 -
使用Jetpack Compose中的Pager构建滑动页面
Pager是Jetpack Compose中的一个组件,它可以用来创建一个可以左右滑动的页面集合。这个组件的主要优点是它的灵活性和易用性,你可以轻松地添加和删除页面,而且每个页面都可以有自己的布局和内容。原创 2023-07-06 12:01:53 · 787 阅读 · 0 评论 -
使用Jetpack Compose中的LazyHorizontalGrid构建灵活的水平网格布局
LazyHorizontalGrid是Jetpack Compose中的一个组件,它可以用来创建一个灵活的、可滚动的水平网格布局。这个组件的主要优点是它的"惰性"特性,这意味着它只会在需要时渲染可见的元素,从而提高了性能。原创 2023-07-06 11:42:12 · 701 阅读 · 0 评论 -
使用Jetpack Compose中的LazyVerticalGrid构建灵活的网格布局
LazyVerticalGrid是Jetpack Compose中的一个组件,它可以用来创建一个灵活的、可滚动的网格布局。这个组件的主要优点是它的"惰性"特性,这意味着它只会在需要时渲染可见的元素,从而提高了性能。原创 2023-07-06 11:29:18 · 1355 阅读 · 0 评论 -
使用Jetpack Compose中的LazyRow
通过使用Jetpack Compose的LazyRow,我们可以轻松地创建水平滚动的列表。LazyRow提供了高效的滚动性能,因为它只会创建和显示当前在屏幕上可见的列表项。此外,通过使用composable函数,我们可以轻松地定制列表的外观和行为。原创 2023-07-05 14:29:15 · 398 阅读 · 1 评论 -
使用Jetpack Compose中的LazyColumn
在Jetpack Compose中,我们可以使用LazyColumn来创建一个垂直滚动的列表,类似于传统Android开发中的RecyclerView。在这篇博客中,我们将介绍如何在Jetpack Compose中使用LazyColumn。原创 2023-07-05 12:33:31 · 842 阅读 · 0 评论 -
使用Jetpack Compose实现PopupMenu
Jetpack Compose是Google推出的现代化UI工具包,使用声明式UI模式构建用户界面。它有许多内建的Composable函数,让开发者可以轻松实现各种界面元素,包括PopupMenu。在这篇博客中,我们将深入研究如何在Jetpack Compose中创建PopupMenu。原创 2023-07-05 11:35:09 · 862 阅读 · 0 评论 -
在Jetpack Compose中使用DropdownMenu
在Jetpack Compose中,我们可以使用和来创建下拉菜单。我们可以使用状态变量来控制下拉菜单的展开和收起,并可以为每个菜单条目添加点击事件。通过Jetpack Compose,我们可以以一种更简洁、直观的方式来构建用户界面。随着Compose的持续发展,我们期待看到更多的特性和可能性。原创 2023-07-05 11:25:29 · 1330 阅读 · 0 评论 -
在Jetpack Compose中使用SurfaceView
在 Android 开发中,是一种特殊的视图,它拥有自己的专用绘图表面,可以在后台线程中更新,非常适合需要频繁和快速绘制的地方,如游戏和视频播放。然而,在Jetpack Compose(Google的新的 UI 工具包)中,并没有内置的Composable。但这并不意味着我们无法在 Compose 中使用它。通过使用,我们可以在 Compose 中包装并使用传统的 Android View,包括。在本文中,我将指导你如何在Jetpack Compose中使用。原创 2023-07-05 11:09:47 · 1629 阅读 · 0 评论 -
使用Jetpack Compose集成WebView
在Android开发中,WebView是一个非常重要的组件,它可以用来显示网页或加载在线内容。然而,在Jetpack Compose(Google推出的新的UI工具包)中,目前没有内置的WebViewComposable。但不必担心,你可以使用AndroidView来包装传统的Android View并在Compose中使用它。在这篇文章中,我将演示如何在Jetpack Compose中使用WebView。原创 2023-07-05 10:38:57 · 2598 阅读 · 0 评论 -
使用Jetpack Compose创建滑动刷新(SwipeRefreshLayout)
在本篇博客中,我们将展示如何在Jetpack Compose中创建滑动刷新界面的过程。但请注意,以下代码相当简化,没有处理如何处理正在刷新等边缘情况,也没有添加动画以实现平滑的外观。同时,它也不会在释放后弹回,或在调用刷新操作之前显示任何刷新可能的指示。然而,它应该能够为你提供一个良好的起点。但Compose鼓励你自行创建需要的可组合函数,它提供了足够的工具供你完成此任务。Compose并未像View-based系统那样内建。原创 2023-07-03 11:32:10 · 485 阅读 · 0 评论 -
使用 Jetpack Compose 实现 ViewPager2
在此博客中,我们将介绍如何在Jetpack Compose中实现ViewPager2的功能。我们将使用Accompanist库中的Pager库,这是由Google开发的一个用于Jetpack Compose的库。原创 2023-06-30 18:39:23 · 693 阅读 · 0 评论 -
利用Jetpack Compose进行导航(Navigation)
Jetpack Compose是一个现代化的,声明式的UI工具包,它让我们可以更快、更简便地构建Android的界面。今天,我们要讨论如何使用Jetpack Compose和它的导航库(Navigation Compose)来进行应用导航。使用Jetpack Compose进行导航是一种简单、声明式的方式,让开发者可以更专注于UI设计和功能实现。Navigation Compose是一个用于管理Compose界面中的导航的库,它不仅提供了丰富的API以支持不同的导航需求,还具有良好的可测性和可观察性。原创 2023-06-29 16:28:11 · 1179 阅读 · 0 评论 -
在 Jetpack Compose 中使用 Snackbar
Snackbar 是一种用于向用户显示临时消息、操作结果或反馈的小组件。它通常以弹出式的方式显示在屏幕的底部,并在一段时间后自动消失。原创 2023-06-29 11:50:35 · 1288 阅读 · 0 评论 -
在 Jetpack Compose 中创建 Drawer
Drawer 是一个提供导航选项的 UI 组件,通常位于屏幕的侧边,用户可以通过滑动或者点击菜单按钮来打开或关闭它。原创 2023-06-29 11:18:08 · 767 阅读 · 0 评论 -
在 Jetpack Compose 中创建 AppBar
AppBar,也就是我们常说的顶部应用栏,是用户界面的一个重要部分。它可以提供关于当前屏幕的上下文,以及完成操作和导航的入口。原创 2023-06-29 10:21:02 · 602 阅读 · 0 评论 -
使用 Jetpack Compose 构建 Spacer
在 UI 设计中,我们通常需要在不同的组件之间添加一些空间以提高可读性和美观性。这就是 Spacer 的用武之地。在 Jetpack Compose 中,Spacer 是一个简单的 composable,它会占据屏幕上的一些空间但不显示任何内容。在这篇博客中,我们学习了如何使用 Jetpack Compose 构建 Spacer。Jetpack Compose 的声明式设计让我们可以以更自然的方式来管理 UI 和状态。使用 Spacer 可以让你的布局更具可读性和美观性。原创 2023-06-28 14:10:58 · 812 阅读 · 0 评论 -
使用 Jetpack Compose 构建 CircularProgressIndicator
CircularProgressIndicator 是一种圆形的进度指示器,通常用于显示一个操作的完成进度,这个操作通常需要一段时间才能完成,例如文件的下载或数据的加载。CircularProgressIndicator 可以显示一个具体的进度,也可以显示一个正在进行中的指示符,以表示进度不确定。原创 2023-06-28 12:46:21 · 892 阅读 · 0 评论 -
使用 Jetpack Compose 构建 LinearProgressIndicator
LinearProgressIndicator 是一种线性的进度指示器,它通常用于在应用执行一项需要一定时间完成的操作(如下载文件、加载数据等)时向用户显示进度。它可以显示确定的进度,也可以显示不确定的进度。在这篇博客中,我们学习了如何使用 Jetpack Compose 构建 LinearProgressIndicator。Jetpack Compose 的声明式设计让我们可以以更自然的方式来管理 UI 和状态。希望这篇博客对你在学习 Jetpack Compose 的旅程上有所帮助!原创 2023-06-28 11:57:18 · 836 阅读 · 0 评论 -
使用 Jetpack Compose 构建 Switch
在 Android 中,Switch 是一个两态(开/关)的滑动式开关按钮,用户可以通过滑动或点击来改变它的状态。通常,我们会使用 Switch 来表示或改变某个二元设置的状态。在这篇博客中,我们学习了如何使用 Jetpack Compose 构建 Switch。通过 Compose,我们可以更加直观和简洁地管理 UI 和状态,从而提高开发效率。希望这篇博客对你在学习 Jetpack Compose 的旅程上有所帮助!原创 2023-06-28 11:33:27 · 1076 阅读 · 0 评论 -
使用 Jetpack Compose 构建 RadioButton
RadioButton 是一个可以勾选的按钮,通常与其他 RadioButton 组成一组,并在该组中只能选择一个。它通常用于表示一组互斥选项,当用户选择一个新选项时,之前的选项会自动取消勾选。原创 2023-06-28 11:06:58 · 809 阅读 · 0 评论 -
使用Android Jetpack Compose构建菜单(Menu)
下拉菜单是一种用户界面元素,它在用户进行交互时显示一个项目列表。下拉菜单经常被用于提供一系列的操作选项。原创 2023-06-27 18:33:20 · 1183 阅读 · 0 评论 -
Android Jetpack Compose - 探索 BottomSheet
在 Material Design 中,底部抽屉是一种从屏幕底部滑出的面板,可以用来显示内容或者提供与用户相关的操作。在 Compose 中,我们可以使用来创建底部抽屉。提供了一些参数,可以用来自定义底部抽屉的外观和行为。: 底部抽屉的海拔高度。sheetShape: 底部抽屉的形状。: 底部抽屉的背景颜色。: 底部抽屉的内容颜色。scrimColor: 遮罩层的颜色。@PreviewText(text = "这是底部抽屉的内容",Modifier.padding(16.dp))){原创 2023-06-27 17:50:59 · 1530 阅读 · 0 评论