Android开发系列(六)Jetpack Compose之Box
Box是一个用来组合和控制子元素布局的组件。它可以在一个矩形区域内排列一个或多个子元素,并根据所提供的参数来控制它们的位置、大小和样式。
Box的功能类似传统的FrameLayout。
下面通过示例了解Box的使用方法,首先看一个最简单的示例,如下所示
这里定义两个Box,是一对父子关系。父Box的大小为整个屏幕的大小,子Box是一个正方向,边长为100dp。
由于父Box将contentAlignment设置为Center,也就是内容为中间对齐,因此子Box显示在中间。
Box可以设置子控件的对齐方式,子控件也可以设置它在Box中的对齐方式,如下所示。
@Composable
fun BoxSample() {Box {Box(Modifier.fillMaxSize().background(Color.Cyan))Box(Modifier.matchParentSize().padding(top = 20.dp, bottom = 20.dp).background(Color.Yellow))Box(Modifier.matchParentSize().padding(40.dp).background(Color.Magenta))Box(Modifier.align(Alignment.Center).size(300.dp, 300.dp).background(Color.Green))Box(Modifier.align(Alignment.TopStart).size(150.dp, 150.dp).background(Color.Red))Box(Modifier.align(Alignment.BottomEnd).size(150.dp, 150.dp).background(Color.Blue))}}
该示例的效果如下图所示。
从该实例可以看到,在子Box也可以通过修改align显示在Box中的不同位置。
BoxWithConstraints
BoxWithConstraints 是 Jetpack Compose 中的一个组件,用于根据父容器的尺寸限制来调整自身的尺寸和布局。
BoxWithConstraints 可以接收一个 lambda 表达式,lambda 表达式中可以根据父容器的尺寸限制来设置子组件的尺寸和布局。比如,可以在 lambda 表达式中使用 ConstraintLayout 来实现复杂的布局。
使用 BoxWithConstraints 组件的一个常见用例是根据屏幕的尺寸限制来调整界面的布局。比如,在移动设备上,可以根据屏幕的宽度和高度来自动调整界面的布局。
下面通过示例说明BoxWithConstraints的用法,分以下2种情况。
1、最大高度小于长方形高度的两边
由于最大高度为180,长方形高度为100,180 < 100 *2,因此走第1个分支,只显示1个Box。
2、最大高度大于长方形高度的2倍
由于最大高度为220,长方形高度为100,220 > 100 *2,因此走第2个分支,显示2个Box。
示例代码已上传到github,地址如下
示例代码工程地址
相关文章:
![](https://img-blog.csdnimg.cn/direct/0c861246590745d18fa2718a454cf5e7.png)
Android开发系列(六)Jetpack Compose之Box
Box是一个用来组合和控制子元素布局的组件。它可以在一个矩形区域内排列一个或多个子元素,并根据所提供的参数来控制它们的位置、大小和样式。 Box的功能类似传统的FrameLayout。 下面通过示例了解Box的使用方法,首先看一个最简单的示例,如下…...
![](https://img-blog.csdnimg.cn/direct/fbc994fe9f7e4c47a6ca4b3a7459c0de.gif)
51单片机STC89C52RC——4.1 独立按键(数码管显示按键值)
目录 目录 目的 一,STC单片机模块 二,矩阵按键模块 2.1 针脚定义 编辑 2.2 矩阵按键位置 2.3 如何理解按键按下后针脚的高低电平 2.3.1 错误理解1 2.3.2 错误理解2 2.3.3 正确判定按下的是那个按键的逻辑 2.3.4 判定按键按下的依次扫描程…...
![](https://img-blog.csdnimg.cn/direct/74fe7d0706c949f3b1f265404e1e58d3.png)
解决双击bootstrap.bat没有生成b2.exe文件
双击bootstrap.bat但是并没有没有生成b2.exe文件,会报如下错误: "cl" 不是内部或外部命令,也不是可运行的程序 或批处理文件。D:\cppsoft\boost_1_85_0\tools\build\src\engine>dir *.exe 驱动器 D 中的卷是 Data 卷的序列号是…...
![](https://img-blog.csdnimg.cn/img_convert/93d1d5fa966f62b67e85ba6e79aaf217.jpeg)
AI穿戴设备是未来手机的终结者?中国AI商业化的未来预测
AI技术的发展正处于商业化应用的关键阶段,而中国在互联网时代已凭借商业化应用逆袭。AI算法大模型虽强大,但真正普惠民众需与设备深度结合。穿戴式智能设备就成为了新战场,AI算法与穿戴设备结合能释放更大工作效率。私人助理AI将成趋势&#…...
![](https://img-blog.csdnimg.cn/direct/7a3590949feb4630af67b1b903adb014.png)
FPGA+Nvidia Orin NX+AI 异构视频图像处理开发平台在高端医疗和工业检测的应用,支持定制,支持国产化
FPGAGPU 异构架构视频图像处理开发平台,它结合了 AMD Zynq UltraScale MPSoC(FPGA)与 NVIDIA Jetson Orin NX(GPU)的强大功能,能够应用于对图像精准度和实时性有着严苛要求的行业领域。 Zynq UltraScale MP…...
![](https://img-blog.csdnimg.cn/direct/a8f05bcd148e4b769ef9a9e2afb1c985.jpeg)
2000-2023年各省名义GDP、实际GDP、GDP平减指数数据(含原始数据+计算过程+计算结果)(以2000年为基期)
2000-2023年各省名义GDP、实际GDP、GDP平减指数数据(含原始数据计算过程计算结果)(以2000年为基期) 1、时间:2000-2023年 2、范围:31省 3、指标:名义GDP、国内生产总值指数、实际GDP、GDP平减…...
![](https://www.ngui.cc/images/no-images.jpg)
python学习—字典(Dictionary)
系列文章目录 python学习—列表和元组 python学习—循环语句-控制流 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—合并多个Ex…...
![](https://img-blog.csdnimg.cn/img_convert/ad2d61600f3b25eb25b5a05dcdb4480d.png)
鸿蒙开发:【组件启动规则(FA模型)】
组件启动规则(FA模型) 启动组件是指一切启动或连接应用组件的行为: 启动PageAbility、ServiceAbility,如使用startAbility()等相关接口。连接ServiceAbility、DataAbility,如使用connectAbility()、acquireDataAbili…...
![](https://img-blog.csdnimg.cn/direct/ecadde37f0a34de1878659ffddb70ca3.png)
网络编程5----初识http
1.1 请求和响应的格式 http协议和前边学过的传输层、网络层协议不同,它是“一问一答”形式的,所以要分为请求和响应两部分看待,同时,请求和响应的格式是不同的,我们来具体介绍一下。 1.1.1 请求 在介绍请求之前&…...
![](https://img-blog.csdnimg.cn/direct/2b896b0c34444100b0e1de81374cc575.png)
“用友审批+民生付款”,YonSuite让企业发薪更准时
随着现代企业经营模式的不断创新和市场竞争的加剧,企业薪资管理和发放的效率、准确性和及时性已成为企业管理的重要一环。然而,在实际操作中,许多企业面临着薪资管理复杂、发放流程繁琐、数据不准确等难点和痛点。为了解决这些问题࿰…...
![](https://img-blog.csdnimg.cn/img_convert/22d7860aa3ca12601de7623fb1953f7b.png)
EtherCAT扫盲,都是知识点
1. 什么是EtherCAT EtherCAT,全称Ethernet for Control Automation Technology,字面意思就是用于控制自动化技术的以太网。它是一种基于以太网的实时工业通信协议,简单说,就是让机器们通过网线互相聊天的高级方式。 EtherCAT 是最…...
![](https://img-blog.csdnimg.cn/direct/4060cf5ac6834620bf1c7f3687e5b60d.png)
开发中遇到的错误 - @SpringBootTest 注解爆红
我在使用 SpringBootTest 注解的时候爆红了,ait 回车也导不了包,后面发现是因为没有加依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId>…...
![](https://img-blog.csdnimg.cn/img_convert/2f7a65eb686fd50a3d593da5e7318027.png)
数据仓库的实际应用示例-广告投放平台为例
数据仓库的数据分层通常包括以下几层: ODS层:存放原始数据,如日志数据和结构化数据。DWD层:进行数据清洗、脱敏、维度退化和格式转换。DWS层:用于宽表聚合值和主题加工。ADS层:面向业务定制的应用数据层。…...
![](https://www.ngui.cc/images/no-images.jpg)
Beyond VL了解学习
Beyond VL:多模态处理的前沿 在今天的数据驱动时代,我们经常需要处理和分析多种类型的数据,例如文本、图像、视频和音频。Beyond VL 是一个先进的多模态模型,专为处理这些多种数据而设计。它能够同时处理多种模态的数据ÿ…...
![](https://www.ngui.cc/images/no-images.jpg)
AI音乐革命:创意产业的新篇章
随着科技的飞速发展,人工智能(AI)在各个领域的应用越来越广泛,特别是在音乐产业中,AI音乐大模型的涌现,正在重新定义音乐创作的边界。最近一个月,随着多个音乐大模型的轮番上线,素人…...
![](https://www.ngui.cc/images/no-images.jpg)
python从入门到精通1:注释
在Python编程中,注释是一种非常重要的工具,它不仅可以帮助我们记录代码的目的、工作方式以及任何需要注意的地方,还可以使代码更具可读性。Python提供了两种主要的注释方式:单行注释和多行注释。下面我们将深入探讨这两种注释方式…...
![](https://www.ngui.cc/images/no-images.jpg)
CountDownLatch(应对并发问题的工具类)
CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作以后,再执行当前线程;比如我们在主线程需要开启2个其他线程,当其他的线程执行完毕以后我们再去执行主线程,针对这 个需求我们就可以使用CountDownLatch来进…...
![](https://img-blog.csdnimg.cn/direct/8939d548a4e14cf79861d11af83ee11b.png)
HarmonyOS开发知识 :扩展修饰器,实现节流、防抖、权限申请
引言 防重复点击,利用装饰器面向切面(AOP)的特性结合闭包,实现节流、防抖和封装权限申请。 节流 节流是忽略操作,在触发事件时,立即执行目标操作,如果在指定的时间区间内再次触发了事件&…...
![](https://www.ngui.cc/images/no-images.jpg)
自然语言NLP的基础处理
NLP基本处理从句子的情感分析、实体与实体直接的关系,句子结构来分析 情感分析 1.句子的情感分析找出句子表达的是正面、负面还是中性的情感。 情感分析的影响因素: 词语顺序:词语的顺序可以影响句子的整体情感。例如,“我喜欢…...
![](https://img-blog.csdnimg.cn/direct/24e139d348c143529c074530dcf8a9fd.jpeg#pic_center)
带颜色的3D点云数据发布到ros1中(通过rviz显示)python、C++
ros中发布点云数据xyz以及带颜色的点云数据xyzrgb ros中发布点云数据xyz可以直接用python来做或者C(看个人偏好) ros中发布带颜色的点云数据xyzrgb环境1.新建ROS工作空间2.创建功能包 ros中发布点云数据xyz 可以直接用python来做或者C(看个人偏好) 在这里我们带有颜色的点云数…...
![](https://www.ngui.cc/images/no-images.jpg)
python学习—列表和元组
系列文章目录 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—循环语句-控制流 python学习—合并多个Excel工作簿表格文件 文章目…...
![](https://www.ngui.cc/images/no-images.jpg)
c++题目_水仙花数
水仙花数-普及-题目-ACGO题库 题目描述 求100-n中的水仙花数。一个数x,x的百位、十位、个位,分别用a、b、c来表示; 当a * a * a b * b * b c * c * c x时,x就被称为水仙花数。(n< 999) 输入格式 一行一个整数n 输出格式…...
![](https://img-blog.csdnimg.cn/img_convert/e9ca8dd359acc96c26025376d39217b8.png)
使用 Iceberg、Tabular 和 MinIO 构建现代数据架构
现代数据环境需要一种新型的基础架构,即无缝集成结构化和非结构化数据、轻松扩展并支持高效的 AI/ML 工作负载的基础架构。这就是现代数据湖的用武之地,它为您的所有数据需求提供了一个中心枢纽。然而,构建和管理有效的数据湖可能很复杂。 这…...
![](https://www.ngui.cc/images/no-images.jpg)
jnp.linalg.norm
jnp.linalg.norm 是 JAX 中用于计算向量或矩阵的范数的函数。JAX 是一个用于高性能机器学习研究的 Python 库,它提供了与 NumPy 类似的 API,但支持自动微分和加速计算。jnp 是 JAX 的 NumPy 接口。 jnp.linalg.norm 的基本语法 jnp.linalg.norm(x, ord…...
![](https://img-blog.csdnimg.cn/direct/dd3d71455b894e56b4e832775c6dbf27.png)
20240621在飞凌的OK3588-C开发板的Buildroot系统中集成i2ctool工具
20240621在飞凌的OK3588-C开发板中打开i2ctool工具 2024/6/21 17:44 默认继承的i2c工具: rootrk3588-buildroot:/# rootrk3588-buildroot:/# i2c i2c-stub-from-dump i2cdump i2cset i2cdetect i2cget i2ctransfer rootrk3588-…...
![](https://img-blog.csdnimg.cn/img_convert/3642af0d4622aad7f777be1c0683e487.jpeg)
ARM32开发--存储器介绍
知不足而奋进 望远山而前行 目录 文章目录 前言 存储器分类 RAM ROM EEPROM Flash 总结 前言 在现代计算机系统中,存储器扮演着至关重要的角色,不仅影响着数据的存取速度和稳定性,还直接关系到计算机系统的性能和应用场景的选择。存…...
![](https://img-blog.csdnimg.cn/direct/5519d166543c4cea85dd6292d16c5a31.gif)
Web服务器
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 当在浏览器输入URL后,浏览器会先请求DNS服务器,获得请求站点的 IP 地址(即根据URL地址“www.mingrisoft.com”获取…...
![](https://img-blog.csdnimg.cn/direct/c5ced8034b11442dbe2f65fd65ef3bce.png)
大语言模型-Transformer
目录 1.概述 2.作用 3.诞生背景 4.历史版本 5.优缺点 5.1.优点 5.2.缺点 6.如何使用 7.应用场景 7.1.十大应用场景 7.2.聊天机器人 8.Python示例 9.总结 1.概述 大语言模型-Transformer是一种基于自注意力机制(self-attention)的深度学习…...
![](https://www.ngui.cc/images/no-images.jpg)
POI:接收上传上来的excel,解析并导入到数据库
目录 1、控制层 2、业务层(主要逻辑) 1、控制层 因为前端设置了只能上传1个文件,这里直接取一个。 RequestMapping(value "/shebeiDaoru.ctrl", method RequestMethod.POST, produces "application/json;charsetUTF-8&q…...
![](https://www.ngui.cc/images/no-images.jpg)
网页的CSS和JavaScript文件没有自动更新, 解决办法
项目场景: 无人值守的场馆预定以及管理 问题描述 更新了CSS和JavaScript,访问始终样式不对 原因分析: 浏览器缓存了你的CSS和JavaScript文件 浏览器缓存了你的CSS和JavaScript文件。当文件的修改时间戳(last-modifiedÿ…...
![](http://cdn2.infoqstatic.com/statics_s1_20160622-0236/resource/news/2015/08/meituan-MOS/zh/resources/MOS.jpg)
门诊部网站建设/培训机构营业执照如何办理
评论:核心点,一个云的基本概念 二是,一个非主流云服务商的寻找的技术点。 三. 团队文化认同比较强。 转: http://www.infoq.com/cn/news/2015/08/meituan-MOS 在饭否上偶尔看到.rex发美团云的促销信息,“啊呀…...
![](https://img-blog.csdnimg.cn/91efaba88ff84985b076526e54fbe9e4.png#pic_center)
网站可不可以做自己的专利/品牌网络营销策划书
在煤矿、非煤矿、化工、油田、冶金等领域,由于工作环境危险,工作环节容易造成生产事故,往往造成重大人员伤亡和财产损失。防爆机器人可以协助操作人员完成巡逻、风险排除和防爆任务,检测潜在危险或人员无法进入的区域,…...
![](/images/no-images.jpg)
葫芦岛做网站公司/日本樱花免m38vcom费vps
前面详细介绍了 Java 中各集合的使用,像 Set 集合和 List 集合等,另外,还结合泛型讲解了一些高级应用。在实际开发中,泛型集合是较常用的,一般定义集合都会使用泛型的形式来定义。本节将使用泛型集合来模拟实现某图书管…...
个人网站网页模板/外贸网站制作公司
最近比较闲,公司项目更换后台,于是自己来研究微信支付和支付宝支付,把自己学习的过程写下来,以备以后查看。 注:要集成微信支付和支付宝功能,必须要有以下几个配置信息,而这写信息需要公司去微信…...
![](https://img-blog.csdnimg.cn/1b1f47899e294aa39ed5d90dccc3106c.png)
淄博北京网站建设/怎样做好服务营销
从0到1用PyG创建异构图异构图创建异构图电影评分数据集MovieLens建立二分图数据集转换为可训练的数据集建立异构图神经网络以OGB数据集为例HeteroData中常用的函数将简单图神经网络转换为异质图神经网络GraphGym的使用PyG中常用的卷积层参考资料在现实中需要对 多种类型的节点以…...
深圳市外贸网站建设/广州网页搜索排名提升
我在前五个帖子中概述了五个潜在的延迟成本: 未按时发布的延迟,第1部分 多任务处理的延迟,第2部分 犹豫不决的延迟,第3部分 技术债务造成的延迟,第4部分 作为计划的一部分,来自其他团队的延迟…...