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

Android Compose开发

Developers 原创:写给初学者Jetpack Compose教程,基础控件和布局 原创:写给初学者Jetpack Compose教程,Modifier 原创:写给初学者Jetpack Compose...返回 View 类型)。...您可以使用修饰符来执行以下操作: 更改可组合项大小、布局、行为和外观 添加信息,如无障碍标签 处理用户输入 添加高级互动,使元素可点击、可滚动、可拖动或可缩放 修饰符是标准 Kotlin 对象。...偏移量 要相对于原始位置放置布局,请添加 offset 修饰符,并在 x 轴和 y 轴中设置偏移量。偏移量可以是正数,也可以是非正数。...它控制了视图在屏幕上显示顺序。具有较高 zIndex 值视图将显示在具有较低 zIndex 值视图之上。 默认情况下,视图 zIndex 值为0。

29510

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

这个过程是自动,不需要我们手动调用setText或setColor之类方法。为了实现响应式,Jetpack Compose 使用State对象来感知 UI 状态变化。...为了让 Compose 能够感知到状态变化,状态值需要包装到一个State对象里。Jetpack Compose 提供mutableStateOf()函数就能帮我们完成这个包装操作。...不要在 State 实例之外操作状态值, Compose 会无法感知到对象内容变化,因此也无法更新自动更新 UI 。...通过修改状态更新可组合项目随着我们越多地使用 Compose 自带可组合项(Scaffolds、BottomSheet、Drawer等),我们会意识到在 Jetpack Compose 中状态是无处不在...要做到这点,需要引入相关拓展方法。这些拓展方法会帮我们把响应式实例转换成 Jetpack Compose状态实例。如何在 Jetpack Compose 中使用 Kotlin Flow?

7.7K111
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Jetpack-Compose 学习笔记(五)—— State 状态是个啥?又是新概念?

    前面几篇笔记讲了那么多内容,都是基于静态界面的展示来说,即给我一个不变数据,然后将它展示出来。如何在 Compose 中构建一个随数据而变化动态界面呢?相信看完这篇就知道了。...虽然提出了许多架构思想, MVC、MVP、MVVM 等,一定程度上解耦了界面与数据处理逻辑,但是架构本身就具有一定复杂性,且对于后续维护成本也相对较高,所以 Compose 一开始就将界面与数据分开来...这个关键字作用意思一样,“记住” 它所修饰对象值。...所以,不要在有添加或移除 Composable 组件情况下,使用 remember 将重要内容存储在 Composable 组件中,因为添加和移除都会使得数据丢失。 5....6.3 MapSaver Compose 还考虑到有些情况下 Parcelize 不适用场景,那么还可以使用 MapSaver 来定义自己存储和恢复规则,规定如何把对象转为可保存到 Bundle 中

    2.1K30

    Jetpack-Compose 学习笔记(三)—— Compose 自定义“View”

    我们也可以通过自定义 View 来创建一些系统没有提供给我们具有特殊功能 View。...width 直接由 Placeable 对象就可获得(placeable.width),而高度由示意图可以得出计算方法:height = placeable.height + d,即普通 Text 高度再加上...在这里我们自定义 Layout 摆放比较简单,就是 Y 轴上有个偏移量,X 轴上没有偏移,看图2 也可直观得知。 那么如何使用呢?...之前所述,我们第一件事就是测量 children,并且只能测量一次。...官方 Column 布局默认情况下宽高是尽可能小占用布局,类似于 wrap_content;而 MyOwnColumn 是尽可能大占用布局,类似于 match_parent。

    1.3K21

    原创|Android Jetpack Compose 最全上手指南

    因为Android Studio 4.0 添加了对Jetpack Compose 支持,Compose 模版和Compose 及时预览。...在这种情况下,我们将应用一个Spacing修改器,该设置将Cloumn与周围视图产生间距。 4. 如何显示一张图片?...要设置图形样式,请将其放入Container(又一个和flutter中一样控件) Container: 一个通用内容对象,用于保存和安排其他UI元素。然后,你可以将大小和位置设置应用于容器。...height : 设置Container容器高度,height属性优先级高于expanded,因此会覆盖expanded,如上面的例子,设置height为180dp,也就是容器宽为控件宽度,高为180dp...本例所示,我们设置显示最大行数为2,多于部分截断处理: Text("我超❤️JetPack Compose!写起来简单,复用性又强,可以抽取很多组件来复用,不用管理复杂状态变更!"

    6.3K20

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

    这部分内容都是概念性,但是贯穿整个compose学习,应该进行着重深入理解 1....compose,也可以查看官方文档-快速入门:https://developer.android.google.cn/jetpack/compose/setup 1.创建项目 我这边尝鲜使用MD3风格项目...,一个是value,一个是onValueChange ,结合之前重组概念来理解,每次重组都会重新调用可组合函数,所以输入框内容value必须是一个全局对象,在compose中,可以使用remember...,TextFieldValue具有更好自定义性,使用AnnotatedString使文本具有样式、TextRange指定光标位置: @Immutable class TextFieldValue constructor...表示允许组件优先查询下子组件高度,所以设置给组件,这边给Row设置Modifier: @Preview @Composable fun MyDivider2() { Row(modifier

    5.9K30

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

    覆盖颜色取决于这个 Surface 高度,以及任何级 Surface 设置 LocalAbsoluteElevation。...而 guideline2 是在竖直方向上距离屏幕高度三分之一位置,需要把布局高度设置为屏幕高度才可以实现。...用法总结起来如下列所示: createGuidelineFromStart(offset: Dp):根据左侧距离布局偏移量来设置 guideline 位置 createGuidelineFromStart...这个例子中对 Text 右边界做了限制,所以使用这个属性可以控制 Text 右边界只能到达布局右边界,不能超出屏幕; wrapContent:Dimension 默认值,即布局大小只根据内容所设置,...参考文献 https://developer.android.google.cn/codelabs/jetpack-compose-layouts?

    3.1K31

    写给初学者Jetpack Compose教程,高级Layout

    大家好,写给初学者Jetpack Compose教程又更新了。...Compose基础控件和布局在 写给初学者Jetpack Compose教程,基础控件和布局 这篇文章中已经有比较详细讲解了,但是这篇文章中使用都是Compose内置好布局,Column、Row...对modifier还不子解朋友可以参考 写给初学者Jetpack Compose教程,Modifier 这篇文章。 content就是我们这个布局中要放入哪些内容,比如要包含什么子控件。...这表示Box布局不会遵守Compose传统测量规则,而是会先去询问子布局,要让所有内容都正常显示,最大需要多少高度?而这个高度就是两个Text控件高度。Box会使用这个高度来做为自身高度。...值可选,它表达语义就是,要让所有内容都正常显示,最小需要多少高度

    21810

    【译】JetPack Compose for Desktop 初体验

    它需要几个参数来初步配置窗口属性, title、size、location、centered、content 等。 在这种情况下,我们只需要把值传给内容参数,其余参数保留默认值即可。...在接下来代码中,我们声明了一个具有 remember 功能 text 变量,其初始值为 Hello, World!。如下所示: 在一个声明式 UI 系统中,代码本身就描述了 UI。...Jetpack Compose Components (Part 2)[4] 下一段代码是定义一个具有点击功能按钮,并将整个应用窗口设置为 Material 主题。...像 Gurupreet Singh[5] 这样开发者非常积极地参与 Compose 发布,并创造了宝贵资源( ComposeCookBook[6])来帮助其他开发者。...Driven UI”[9]•“Jetpack Compose: How to Build a Messaging App”[10] 以上就是本文全部内容了,希望本文能对你有所帮助,感谢你阅读。

    5.1K30

    Jetpack Compose Beta 版现已发布!

    时机正好,不妨趁现在开始学习 Compose,并着手规划今年 1.0 版发布之后,您将如何在接下来项目或功能中使用该工具包。...我们期待看到您使用 Compose 构建内容, 并根据您反馈和功能请求来优化我们 API,并确定我们工作方向优先级。...开始学习 Compose 为了帮助您和团队学习关于 Jetpack Compose 所有内容,我们更新了 学习计划,同时提供了一系列精心规划视频、Codelab 和重要文档,帮助您入门。...我们会提供各种指南来帮助您快速入门, 架构、无障碍功能 和 测试 相关指导内容,以及针对 动画、列表 或 Compose 编程思想 深入探讨。...现在时机正好,不妨开始学习 Jetpack Compose,并规划如何在接下来项目中使用该工具包。

    5.6K10

    【Android笔记】Jetpack Compose

    注意,Jetpack Compose控件被定义成一个一个可组合函数,官方称这些控件为Composable,翻译成中文是“可组合项”,当强调它作为一个界面的一部分出现时,我会使用“控件”或“元素”之类术语...第一步,我们需要测量这个子控件,获得一个Placeable对象,我们可以通过这个Placeable对象,相对于控件位置来摆放这个子控件。...现在这个子控件已经根据给定限制被测量好,下一步,我们就需要计算它离顶部高度,这里应该使用用户传入高度减去FirstBaseline位置,得到就是这个控件应该离顶部高度。...Compose面向组合实现UI树相较于传统View模式灵活性。...,并上报给控件控件,最后按照自己内部安排好顺序对子元素进行摆放。

    78920

    JetPack Compose主题配色太少怎么办,来设计自己颜色系统吧

    引言 JetPack Compose 正式版已经发布好几个月了,在这段时间里,除了业务相关需求之外,我也开始了 Compose 在实际项目中落地实验,因为一旦要接入当前项目,那么遇到问题其实远远大于新创建一个项目所需要问题...CkColors 这个类上增加了 @Stable ,其代表着对于 Compose 而言,这个类是一个稳定类,即每次更改不会引发重组,内部颜色字段使用了 mustbaleStateOf 包装,以便当颜色更改时触发重组...当然可以用,但是实际中问题会很多,比如说主题更改会导致而且不符合 Compose 设计,而且如果我们可能有一部分业务在一定情况下,它可能一直保持一个主题色,那么此时怎么解决?...大家如果觉得晦涩,不妨先看一下 Android开发者-深入详解Jetpack Compose实现原理,再来理解下面的某些术语,可能会更简单点,因本篇不是通俗compose 实现原理,所以大家参阅上面的链接即可...| 实现原理 Android开发者 - 深入详解 Jetpack Compose | 优化 UI 构建

    1.5K20

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

    以下三种方式可初步体验: 尝试使用Jetpack Compose 示例应用 创建支持Jetpack Compose 新应用 现有项目中支持Jetpack Compose 基于现状,我主要介绍第三种方式...`widthDp: Int`: 在Compose中渲染最大宽度,单位为dp。 8. `heightDp: Int`: 在Compose中渲染最大高度,单位为dp。...如果想使用Compose情况下,又不想迁移整个应用,可以在xml里面增加ComposeView,类似于占位符,然后在Actviity/fragment中寻找该控件并调用setContent方法即可...Jetpack Compose应用1 开始前准备 创建DEMO 遇到问题 [1240] 2. Jetpack Compose应用2 3....用Compose Android 写一个天气应用 开篇 画页面 画背景 画内容 …… [1240] 6.

    6.3K60
    领券