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

欢迎体验 | Wear OS 版 Compose 开发者预览版

顺利发布多个 alpha 版本之后,Wear OS 版 Compose 现已推出开发者预览版。...除此之外,您在使用 Jetpack Compose 构建移动应用的经验,也可以直接运用在 Wear OS 版本上。...就像在移动设备上一样,欢迎您立即着手测试,我们也希望发布 Beta 版前,将您的 反馈 纳入库的早期迭代。 本文将回顾我们构建的几个主要可组合项,并介绍帮助您开始使用的多种资源。 现在就开始吧!...尽管从技术上说,可以 Wear OS 上使用移动依赖项,但我们还是建议您使用专用于 Wear 的版本以获取最佳体验。 注意: 我们将在未来版本添加更多 Wear 可组合项。...您可在下方应用中看到,内容屏幕顶部和底部被缩减和淡化,以提高可读性: 查看代码,您可看到代码与 LazyColumn 相同,只是名称不同。

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

从0上手Jetpack Compose,看这一篇就够了~

我们是Activity编写Java/Kotlin的代码,XML编写布局代码,这种方式是我们已经使用了很久的方式,而Jetpack Compose完全抛弃了之前的方式,新创造了一种“使用代码”编写页面的方式...在上面的图中我们看到,两个Text紧紧的贴在一起了,XML布局我们可以使用padding或者margin来解决这个问题,Compose如何处理呢?以及我们如何为文字设置颜色、大小等样式呢?...我们都知道RecycleView还提供了网格布局布局和流布局,Compose也分别对应LazyGrid与LazyVerticalStaggeredGrid,感兴趣的大家可自行了解。...了解了Compose的状态和状态提升之后我们现在回过头来看,如何实现上面课程列表查看详情的功能。...,但是Compose我们通过是否将可组合项添加到界面树来控制。

70731

《树莓派4B家庭服务器搭建指南》第六期

Server 20.04,绑定公网域名,对公网提供http服务,SSH登录服务 https://www.v2fy.com/p/2021-10-01-pi-server-1633066843000/ frpc.ini...添加以下配置,并重启frpc [rsshub-frp-v2fy-com-1200] type = tcp local_ip = 127.0.0.1 local_port = 1200 remote_port...查看文档 查看文档 查看生成微博RSS的文档 查看生成微博RSS的文档 查看id 查看李子柒id 按照以上规则,李子柒的RSS为: http://rsshub.v2fy.com:1200/weibo...各种订阅 小结 网站提供RSS是一种美德;我们互联网上的内容越来越多,但搜索变得越来越难,各类内容平台将内容圈自家的App,导致搜索引擎爬取不到最新的内容,我们的搜索也变难了。...信息茧房是指人们关注的信息领域会习惯性地被自己的兴趣所引导,从而将自己的生活桎梏于像蚕茧一般的“茧房”的现象。 本文为你提供一种获取信息的新思路,你可以通过《RSSHub》和 《嘎!

97720

compose--附带效应、传统项目集成、导航

该文章将是compose基础系列中最后一篇,附带效应是这篇文章的重点,其余补充内容为如何在传统xml中集成composecompose导航的使用 一、附带效应 有了前面的了解,我们知道compose...是由State状态发生改变来使得可组函数发生重组,状态的改变应该是可组合函数作用域中,但有时我们需要它发生在别的作用域,如定时弹出一个消息,这就需要附带效应出场了,compose定义了一系列附带效应...API,来运用在可组合函数作用域内外,发生状态改变的不同场景 1.LaunchedEffect LaunchedEffect我们之前就已经使用过了,特别是低级别动画时,LaunchedEffect用于安全地调用挂起函数...实际开发,灵活运用key是否唯一来使得是否需要重启效应 二、传统项目集成 官方推荐一次性替换整个布局,也可以替换部分布局,本身compose就兼容传统xml的方式,所以传统的项目上集成compose...“friendslist”并加到返回堆栈 navController.navigate("friendslist") 导航到“friendslist”之前,将所有内容从后堆栈中弹出到“home”(不包含

2.2K40

设计图转Compose代码,Relay帮你轻松搞定

上述环境配置好之后我们就可以来项目中尝试了。...基础体验 创建Android项目 首先我们来创建一个Compose项目,项目创建完成后,我们模块的Gradle文件添加Relay Gradle 插件。...然后Android Studio ,依次选择 File > New > Import UI Packages 输入框输入刚刚复制的链接地址。 等待文件下载,成功下载后,系统会显示组件预览。...UI更新 我们Figma中将文字颜色改为红色,并且再多添加一个文本显示任意内容。 更改完之后我们重复上述步骤,发布UI包。 发布完之后我们直接在Android Studio更新UI包。...HelloCard(username = "阿黄嫂", onClick = { //点击事件 }) 除此之外Relay还有更多有趣的用法,需要我们实际项目使用过程慢慢摸索。

31610

Android | Compose 初上手

Compose 构建界面的时候,无需像之前那么构建 XML 布局,只需要调用 Jetpack Compose 函数来声明你想要的的元素,Compose 编译器就会自动帮你完成后面的工作。...被 @Compose 注解的方法只能被同类型的方法调用。 @Preview 使用该注解的方法可以不在运行 App 的情况下就可以查看布局。...widthDp: Int: Compose渲染的最大宽度,单位为dp。 heightDp: Int: Compose渲染的最大高度,单位为dp。...如果某个参数重组完成之间发生改变,Compose 可能会取消重组,并使用新的参数重新开始。 取消重组后,Compose 会从重组舍弃界面树。...Theme 创建项目之后,就会生成一个 项目名称+Theme 的 @Compose 方法,我们可以通过更改其中的颜色来完成对主题的修改。具体如上面的主题所示.

5.3K20

Jetpack Compose for Desktop: 里程碑1发布

从本质上讲 Compose for Desktop 允许开发者通过组合函数代码声明桌面 UI,并且它会自动响应应用的状态同步。...该项目是基于 Google 的 Jetpack Compose ,Jetpack Compose 一个用于 Android 的 UI开发工具包,Compose for Desktop 可以让 Android...学习 Compose for Desktop 如果要尝试一下,推荐通过阅读阅读入门教程,该教程介绍了如何设置和运行由Compose for Desktop 所需的基本步骤,另外在这里也可以查看的其他教程...如果想要了解更复杂的 Compose for Desktop 例子,可以查看 Google 的演示应用程序,Demo 还包括了如何使用 Kotlin Multiplatform 桌面和Android之间共享用户界面的例子...compose-desktop ,就可以找到有关 Compose for Desktop 的讨论,#compose ,也可以讨论涉及 Android 上的 Compose 和 Jetpack

4.6K30

compose--初入compose、资源获取、标准控件与布局

重组 1.1 安卓传统UI 先来说安卓传统UI,大致的流程就是xml我们定义了一系列的布局(组件)和控件后,由Activity的onCreate()触发xml解析,生成View树:DecorView...compose,每个可组合函数调用直至渲染完成,称之为重组 通过异步上树虽然带来了性能的提升,但是管理方面变得困难,所以compose规定,每个可组合函数都是独立运行的存在,可组合函数内部应该仅处理的...compose,也可以查看官方文档-快速入门:https://developer.android.google.cn/jetpack/compose/setup 1.创建项目 我这边尝鲜使用MD3风格的项目...,实际开发google也推荐:UI设计从MD2转变为MD3 2.BOM 对于compose的版本管理,官方推荐使用BOM,导入BOM后的好处是:导入compose其他库组,都将使用BOM定义的版本...xml,我们常常会使用资源id获取到资源文件,比如:color、drawable、string等,compose,通过以下函数获取,这些函数都位于androidx.compose.ui.res

5.8K30

写给初学者的Jetpack Compose教程,用derivedStateOf提升性能

因此这里我准备先用一个更加简单的例子进行讲解,之后我们再回到上篇文章留下的陷阱去分析和解决。 经过前面几篇文章的学习,现在你对Compose应该已经比较熟悉,并且能完成一些基本的功能开发了。...重组这个概念我在前面的文章已经提到很多回了,因为它就是Compose工作的核心。 简单来说,重组就是通过刷新界面来让Compose显示的内容进行更新。...我 写给初学者的Jetpack Compose教程,使用State让界面动起来 这篇文章中有详细介绍State的用法。 那么上述代码,clickCount就是一个State变量。...最后MainLayout()函数中将以上两个函数都包含进去,并加了一个布尔变量,只有firstVisibleItemIndex为0,也就是列表第一个子项元素可见的时候,Fab按钮才显示。...Compose是基于Kotlin语言的声明式UI框架,如果想要学习Kotlin和最新的Android知识,可以参考我的新书 《第一行代码 第3版》,点击此处查看详情。

12000

Jetpack-Compose 学习笔记(二)—— Compose 布局你学会了么?

Compose 构建的 composition 树,如果需要将顶层的 Composable 函数的某个变量传递到最底层的 Composable 函数,通常最简单有效的方法就是:1)定义一个全局变量...List 布局的使用 笔记一,我们见识到了 Compose 使用 LazyColumn 来实现一个可滑动的 List,其实实现一个可滑动的 List 并不需要用到 LazyColumn,只需要用...所以一般是使用 LazyColumn 来展示列表数据,LazyColumn 开始时并不会把所有的列表数据都加载进内存,它会先将展示屏幕上的列表数据加载进内存,当滑动查看更多列表数据时,才会将这些数据加载到内存...需要引入 Coil 的依赖: // build.gradle implementation 'io.coil-kt:coil-compose:1.3.0' 引入之后就可以使用 code 8 的 rememberImagePainter...当然,ConstraintLayout 确实可以解决 View 体系多层嵌套的问题,那么 Compose 也可以使用吗? 答案是肯定的。

2.9K31

使用 Compose 构建 Wear OS 应用

本文将通过 Wear Compose 主要的可组合项 (Composable) 来帮助您更好地了解如何使用 Compose 来进行构建。 如果您更喜欢通过视频了解此内容,请 点击此处 查看。...添加依赖项 使用 Wear Compose 之前,我们需要先确保已有正确的依赖项,它同移动版 Compose 略有不同。...添加正确的 Wear 依赖项后,您就可以着手进行开发了。 Wear Compose 文档页面 查看依赖项。...我们代码里初始化了一个 Button 可组合项,然后声明了一些参数,它们被称为 Modifier,通过 Modifier 可以更改很多属性,比如这里的 onClick、same、enabled,若您还想为...另外,所有 Compose 构建方面的知识都可以直接应用于 Wear Compose ,用移动端的开发经验助您快速构建精美的 Wear 界面。

65920

聊聊类组件到函数组件的变迁

更轻量,不用去写 class 代码更简洁,逻辑更内聚 但函数式组件还有一个问题需要解决,类组件,我们有原生 Activity 的 onCreate、onDesotry 等生命周期函数, React.Component...Effect LaunchedEffect DisposedEffect 这两者的功能对比如下: Effect 可感知的生命周 是否支持协程 能力 LaunchedEffect 组件挂载、组件更新 支持 组件更安全的调用挂起函数...省略累加控件 } } 进入组合项时,LaunchedEffect 设置为 true,使其不具备监听任何状态变化的能力(remember),延迟 1s 后会打印 Log,之后无论怎么操作其他控件都不会使其响应...React[1] Compose 的附带效应[2] 参考资料 [1] 使用 Effect Hook – React: https://react.docschina.org/docs/hooks-effect.html...[2] Compose 的附带效应: https://developer.android.com/jetpack/compose/side-effects?

3.5K20

掌握 Jetpack Compose 的 State,看这篇就够了

,不要错过 :-)Jetpack Compose 的状态State是什么 Jetpack ,state表示一个和 UI 状态相关的值。...记住这一点(双关): Compose 里,我们无法控制我们的 Compose 代码会被多频繁调用,也控制不了它执行的次数。注意,上面这些讨论只有 Compose 函数创建状态的时候成立。...ViewModel持有状态把状态放在ViewModel中和把它放在可组合项函数类似。...可组合函数,我们可以用viewModel {}函数,这个函数负责 Compose 进行重组过程中保证每次返回的都是同一个同一个ViewModel实例。...附加内容: Jetpack Compose ,如何使用 Kotlin 的 Flow、RxJava 或者 LiveData 表示状态?

7.4K111

Android Compose开发

另外 Compose 里的代码基本都是可以被混淆的,所以开启混淆之后代码的压缩率也很高。 手动操纵视图会提高出错的可能性。如果一条数据多个位置呈现,很容易忘记更新显示它的某个视图。...的一个函数,用于协程执行副作用操作。...LaunchedEffect 函数是一个协程构建器,它接受一个或多个参数,并在代码块执行异步操作。它会自动适当的时间启动和取消协程,确保 Compose 组件的生命周期内正确处理副作用。...如果你尝试Compose 函数调用它,将会出现编译错误。...总结起来,LaunchedEffect 是一个用于协程执行副作用操作的函数,它确保 Compose 组件的生命周期内正确处理副作用。

26510

体验一下使用 ArkUI 进行 HarmonyOS 开发并与 Compose 简单对比

搞得我也焦虑的不行,谷歌的 Compose 推出后就赶紧去学,但是又觉得好像 Compose 的热度也不算太高,又去学 Flutter 。...specified 模式则可以创建 UIAbility 时指定一个 key 与之绑定,之后打开新的 UIAbility 时都需要提供一个 key,如果该 key 存在已经绑定了的 UIAbility...另外,这里的 Column 和 Row 默认对齐方式上也有所区别,以 Column 为例, ArkUI 默认是主轴(垂直方向) Top ,副轴(水平方向)居中;而 Compose 则是默认垂直方向...() ,并且 Compose Composeable 作用域中的变量还需要包裹在 remember ,否则每次重组(UI变化)这个变量都会被重复初始化。...对于 ArkUI 来说,所有参数的修改则完全是使用在组件函数之后链式调用来实现的,例如修改字号和字重:Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold

15110

基于Docker Compose部署分布式MinIO集群

而且Minio纠删码是作用在对象级别,可以一次恢复一个对象,而RAID是作用在卷级别,数据恢复时间很长。 Minio对每个对象单独编码,存储服务一经部署,通常情况下是不需要更换硬盘或者修复。...分布式MinIO实例将部署同一主机上的多个容器。 这是建立基于分布式MinIO的开发,测试和分期环境的好方法。...然后运行下面的命令 docker-compose pull docker-compose up -d 现在每个实例都可以访问,端口从9001到9004,请在浏览器访问http://127.0.0.1:...Docker compose file的MinIO服务使用的端口是9001到9004,这允许多个服务主机上运行。...选择一张图片,上传成功之后,效果如下: ? 查看bucket文件信息 点击data,查看与设置该Object的基本信息: 查看共享地址Shareable Link ?

4.1K10

纪录一次sentry升级历史

调研 因为我的sentry不仅仅用在了服务器端,而且还用在了客户端上。所以我需要解决如果sentry停止了,那么如何解决请求等待的问题。 Nginx 那么我首先想到的就是修改nginx的配置文件。...首先我们先对内容进行diff,查看修改的部分: git diff docker-compose.yml 将输出记录下来,以便更新代码之后对该文件进行还原。 这是因为你对该文件进行了修改。...再次构建我们的服务 docker-compose build --pull 运行可能会提示: 09:31:05 [WARNING] sentry.utils.geo: settings.GEOIP_PATH_MMDB...现在就是要执行迁移了: docker-compose run --rm web upgrade 迁移可能会提示如下消息: The following content types are stale...总结 再次进入之后,发现了UI有一些变化。并且IOS大哥的问题也解决了。但是也产生了一些问题,就是统计的bug统计数据都没了。这不重要,只要bug数据还在,那就可以。

1.2K00
领券