首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【建议收藏】Jetpack Compose编程知识全汇总 (含详细实例讲解)

`group: String`: 为该Preview设置group名字,可以UI以group为单位显示。 6. `fontScale: Float`: 可以预览对字体放大,范围是从0.01。...`widthDp: Int`: Compose渲染的最大宽度,单位为dp。 8. `heightDp: Int`: Compose渲染的最大高度,单位为dp。...setContent的方法也是有@Compose注解的方法。所以,setContent写入关于UI的@Compopse方法,即可在Activity显示。...Compose 如果想使用Compose的情况下,又不想迁移整个应用,可以xml里面增加ComposeView,类似于占位符,然后Actviity/fragment寻找该控件并调用setContent...() Compose,LiveData.observeAsState()获取的State对象赋值给Text @Composable fun HelloScreen(helloViewModel:

6.2K60
您找到你想要的搜索结果了吗?
是的
没有找到

Android Compose 新闻App(二)ViewModel、Hlit、数据流

五、源码 前言   在上一篇文章我们构建了网络框架了,现在可以页面通过liveData的Observe回调中看到网络数据的返回。...正文   Compose组件和Jetpack其他的组件可以很有效的结合起来,会使我们的程序解耦的更彻底。...四、数据流 Compose 随附了一些扩展程序,它们适用于最热门的基于流的 Android 解决方案。...其中每个扩展程序都由不同的工件提供: LiveData.observeAsState() 包含在 androidx.compose.runtime:runtime-livedata:$composeVersion...我们页面显示返回值,然后我们setContent调用initData(),这个网络数据返回再预览是看不出来的,我们通过虚拟机去显示这个返回值。

1.3K40

写给初学者的Jetpack Compose教程,使用State让界面动起来

让界面动起来 其实让界面动起来这个说法并不是非常准确,因为我们 写给初学者的Jetpack Compose教程,基础控件和布局 这篇文章中学到的进度条控件,它本来就是一直在运动的。...我们自定义了一个叫Counter()的Composable函数,里面Column中分别放置了一个Text和一个Button。Text用于显示计数器的数值,Button用于给计数器加1。...mutableStateOf()函数就是用于创建一个可变的State对象,参数传入的是初始值。...比如说,每次当手机横竖屏旋转的时候,计数器都会重新归零,如下图所示: 这是因为用于计数的count变量是定义Composable函数的,虽然我们用remember函数将它包裹住了,但这只能保证它在...函数的参数列表当中增加了一个viewModel参数,并且通过默认赋值的方式对它进行初始化,这样就可以调用MainViewModel定义的对象和函数了。

66520

深入详解 Jetpack Compose | 优化 UI 构建

为了解决如何快速而高效地创建完善的 UI 这一技术难题,我们引入了 Jetpack Compose —— 这是一个现代的 UI 工具包,能够帮助开发者们新的趋势下取得成功。...本系列的两篇文章,我们将阐述 Compose 的优势,并探讨它背后的工作原理。作为开篇,本文中,我会分享 Compose 所解决的问题、一些设计决策背后的原因,以及这些决策如何帮助开发者。...此外,我还会分享 Compose 的思维模型,您应如何考虑 Compose 编写代码,以及如何创建您自己的 API。... Jetpack Compose 的世界,由于我们使用函数替代了类型,因此实现组合的方法颇为不同,但相比于继承也拥有许多优点,让我们来看一个例子: 假设我们有一个视图,并且我们想要添加一个输入。... Compose ,这个问题变得很简单。

1.3K20

Jetpack Compose终于能稳定支持Wear OS,并带来了适用于手机和平板的1.2版本更新

发布 Jetpack Compose 1.2 版本的同时,官方还发布了 Compose for Wear OS 1.0 ——使得 Compose 也支持 Wear OS 应用开发。...智能手机应用程序开发人员 Compose 1.2 获得了一些重要更新。Lazy grids,通过只对网格的可见部分进行合成来提高性能,已经从实验阶段转为稳定阶段。...WindowInsets 类,用于处理屏幕上不可用的区域及其与应用程序窗口的交互,是一个基于 Accompanist 库先前工作的新类,谷歌用它来试验 Compose 的新功能并填补 API 的空白。...此外,动画支持添加了缓动曲线,用于实现快速加速和逐渐减速等效果。还有嵌套滚动支持和新的鼠标事件,以及各种错误修复。...“你应该押注 Jetpack......Flutter 对简单的应用来说是很好的选择,但却不适合复杂的场景,”Hacker News 的一位开发者声称。

1.4K20

Android | Compose 状态管理

其他受支持的状态类型 Jetpack Compose 并不要求必须使用 MutableState 存储状态。...事实上也支持其他的类型,但是 Compsoe 读取其他可观察类型之前,需要将其转为 State ,以便 Compose 可以状态发生改变的时候进行重组。...状态提升 Compose 的状态提升是一种将状态移到可组合项调用方,使得可组合项无状态的模式。...Compose 可以使用多种不同的方式来管理状态,如: 可组合项:用于管理简单的界面元素状态 状态容器:用于管理复杂页面的元素状态,且用于界面元素的状态和界面逻辑。...状态容器是可组合创建和保存的普通类。状态容器需要遵循 可组合项的生命周期,因此可以此采用 Compose 依赖项。

1.5K20

Android Jetpack组件 Compose 使用介绍

Android Jetpack组件 Compose 使用 前言 正文 一、创建Compose项目 1. setContent 2....排列效果 3. gradle 二、布局 ① 布局填充 ② 大小设置 ③ 图片设置 ④ 空间占位 三、列表 ① 显示列表 ② item点击事件 四、源码 前言   一直以来,Android 构建UI页面是一个很耗时的操作...正文   Jetpack Compose是一个用于构建原生Android UI的现代工具包。...这里我把这里的代码注释掉,那么你AS中就无法预览了,现在我们就了解了MainActivity的基本构建了,那么下面我们再来观察一下gradle。...这是运行时的调用,还有我们如果要在预览查看,有点区别。 下面我们通过预览查看一下: 很好,很简单就完成了一个列表

2.7K20

Jetpack Compose Alpha 版现已发布!

图片 作者 / Google 产品总监 Karen Ng Jetpack Compose 是一个现代化的 UI 工具包,旨在帮助开发者通过原生平台 API 简单快捷地全 Android 平台构建精美应用...Jetpack 的 Hello World Jetpack Compose: Alpha 版现已发布 Jetpack Compose Alpha 版本 提供了用于构建成熟 Android 应用所需的功能...Alpha 版本发布内容如下:  Animations Constraint Layout 无障碍初步支持 输入和手势 与视图的互操作性 (可以您现有的 app 混合可以组合的功能) 懒加载列表 Material...编译器插件 适用于 Compose 的示例数据 API Romain 的视频 - Jetpack Compose:https://www.bilibili.com/video/BV1Vv411q7Hn...Studio 包含了辅助您使用 Jetpack Compose 的强大工具,可以帮助您快速迭代 UI 元素。

4K30

我参加了Jetpack Compose开发挑战赛

接下来的四周时间里,Google每周都将发起一个挑战项目,以帮助开发者能够更加熟练地使用Jetpack Compose来构建出色的应用。...Jetpack Compose这个库虽然我之前也算是有些了解,但现在几乎约等于完全不懂。因为我在学习Jetpack Compose的时候,它还属于非常非常早期的版本,API极其不稳定。...不管是使用Jetpack Compose,还是使用传统的写法去实现,首先你必须要拥有用于展示的数据才行。...至于具体的代码我就不贴出来了,因为基本都是Jetpack Compose相关的代码,而我本篇文章是不准备讲解Jetpack Compose的。...Google的这套规则,每个类的头部都要按照固定的格式声明版权。代码import的包不能使用*通配符,得一个个手动引入,而且引入的包必须按照字符表的顺序排列。

90820

【译】JetPack Compose for Desktop 初体验

目前为止,我们只 Android 开发中看到 Jetpack Compose[2]。... Compose for desktop 的早期版本,他们为 IntelliJ 增加了一个桌面项目引导,可以让我们几秒内配置好项目。...我们需要从项目模板列表挑选桌面模板,向下滚动就能找到。然后你需要选择项目的 JDK,这里我建议使用 JDK 11。 ? 然后点击“Next”按钮,这将会跳转至确认 Compose 模块的界面。...接下来的代码,我们声明了一个具有 remember 功能的 text 变量,其初始值为 Hello, World!。如下所示: 一个声明式的 UI 系统,代码本身就描述了 UI。...诸如按钮、文本字段等 UI 组件,我们使用 remember 作为文本的状态,这样当我们未来更新这个 text 变量时,与该变量相关的视图也会更新显示文本。

5K30

现代 Android 开发的三大亮点

#1: 大量全新的 Jetpack 库现已发布! 最近几个月里,数个 Jetpack 库已经进入稳定阶段、Beta 阶段或已发布了 Alpha 测试版本。...部分重点内容如下: 稳定版: CameraX、Hilt、Paging 3.0、ConstraintLayout、MotionLayout 和 Jetpack Compose (将于七月进入稳定阶段) Beta...Macrobenchmark,请观看以下视频: Jetpack 更新一览 Compose 更新一览 使用 Macrobenchmark 测量应用启动和卡顿 #2: Android Studio 的检查器...我们为数据绑定 (DataBinding) 添加了 StateFlow 支持,同时新增了全新的 API,用于不使用数据绑定 (DataBinding) 的情况下观察 UI 的 Flow。...您可以 YouTube 播放列表 中找到今年所有关于现代 Android 开发的 Google I/O 大会演讲,也可以前往 Bilibili 查看更多 Google I/O 2021 精彩视频。

57440

Compose 线上分享会内容

一、Compose 是什么 为什么采用 Compose[2] Jetpack Compose用于构建原生 Android 界面的新工具包。...它可让您更快速、更轻松地构建 Android 界面 1、更少的代码以及更快速的开发 例如一个列表控件: compose: LazyColumn() { items(apkInfos, key =...3、强大的兼容性 原生可以嵌套 ComposeCompose 可以嵌套原生,并且可以无缝的使用 Jetpack 组件,例如 ViewModel、LiveData、Flow 等 Compose 嵌套原生...探索 Compose 内核:深入 SlotTable 系统 揭秘 Jetpack Compose 快照系统 实践 | Jetpack Compose 的状态管理 深度解析 Jetpack Compose...不过话也说回来,Jetpack Compose 容器依然是一个 ViewGroup,没有脱离原生 View 体系,我觉得,问题应该不会太大,最多就是代码使用不当,重组作用域扩大,导致页面卡顿,但这种开发期间是可以通过调试和监控可发现的

1.2K10

Jetpack-Compose 学习笔记(一)—— Compose 初探

当然,Compose 也是属于 Jetpack 工具库的一部分,官方宣称可以简化并加快 Android 上的界面开发,可以用更少的代码去快速打造生动而精彩的应用。...另外还需将 app 目录下的 gradle 文件启用 Jetpack Compose,并设置 Kotlin 编译器插件的版本。...4.4 Compose 列表初探 列表布局使用频率还是比较高的,像 ListView 和 RecyclerView 都是耳熟能详的用于展示列表的 View 控件。...那么 LazyColumn 就相当于 Compose 的 RecyclerView,用于展示可滑动的长列表。它提供了 items API 用于展示简单的列表布局。...是的, Compose 自定义一个主题就是这么简单。 5. 编程思想 再来说一说官方文档里提到的 Compose 的编程思想吧。

1.9K10

Jetpack Compose 1.0 正式发布!打造原生 UI 的 Android 现代工具包

这是 Compose 的稳定版本,可供大家在生产中使用。在过去的两年里,我们一直努力开发 Compose,并得到了 Android 社区的积极反馈和参与。...我们发布 1.0 的当下,Play Store 已经有超过 2,000 个应用在使用 Compose 了。事实上,Play Store 应用本身也使用 Compose!...您可以只屏幕上添加一个按钮,也把自己创建的自定义视图保留在现在用 Compose 打造的界面Jetpack 集成 : Compose 和大家熟知且喜爱的 Jetpack 开发库 天然整合。...列表 : Compose 的 Lazy 组件为数据 列表 的呈现提供了一种简单扼要且功能强大的方式,而且将模版代码精简到了最少。...为了支持新的工作流程和不同的思维方式,我们正在提供新的工具,专为 Compose 而设计,并在一些现有工具增加对 Compose 的支持。

1.8K20
领券