news 2026/6/15 19:37:13

compose verticalAlignment ,horizontalAlignment,contentAlignment和Arrangement区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
compose verticalAlignment ,horizontalAlignment,contentAlignment和Arrangement区别

1. Alignment 是一个通用概念,但具体形式不同

容器类型属性名称作用范围是否可单个覆盖
RowverticalAlignment所有子元素的垂直对齐❌ 不可
ColumnhorizontalAlignment所有子元素的水平对齐❌ 不可
BoxcontentAlignment默认影响所有❌ 不可
BoxModifier.align()可单个覆盖✅ 可以

Modifier.align()是单独覆盖,Modifier.align()中使用的是 Arrangement

2. 正确的分类描述

Row 容器:
  • 主轴(水平)horizontalArrangement- 控制所有子元素的水平分布
  • 交叉轴(垂直)verticalAlignment- 控制所有子元素的垂直对齐(全局设置)
Column 容器:
  • 主轴(垂直)verticalArrangement- 控制所有子元素的垂直分布
  • 交叉轴(水平)horizontalAlignment- 控制所有子元素的水平对齐(全局设置)
Box 容器:
  • 整体对齐contentAlignment- 设置所有子元素的默认位置
  • 单个对齐Modifier.align()- 控制单个子元素的位置(可覆盖 contentAlignment)

3. 关键澄清:Alignment这个术语的三种用法

这是最易混淆的地方:

  1. Alignment接口/类:基础的坐标定位系统
  2. horizontalAlignment/verticalAlignment:Row/Column 的属性,全局影响所有子元素
  3. Modifier.align(alignment: Alignment):BoxScope 的扩展函数,针对单个元素
// 示例:这三个"Alignment"是不同的东西Row(verticalAlignment=Alignment.CenterVertically// 这是 Row 的属性,全局设置){// 这里不能使用 Modifier.align()}Box{// 这里可以使用 Modifier.align()Box(modifier=Modifier.align(Alignment.Center)// 这是 BoxScope 的扩展函数)}

总结

  • Arrangement:在 Row/Column 中,控制主轴方向所有子元素的分布
  • horizontalAlignment / verticalAlignment:在 Row/Column 中,控制交叉轴方向所有子元素的对齐(全局)
  • Box 的特殊机制:Box 使用contentAlignment(全局默认)和Modifier.align()(单个覆盖)
  • 重要区别:Row/Column 的 Alignment 是容器属性,影响所有子元素;Box 的Modifier.align()元素修饰符,可单独设置
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 11:28:25

MMA综合格斗动作检测数据集VOC+YOLO格式1780张16类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1780标注数量(xml文件个数):1780标注数量(txt文件个数):1780标注类别…

作者头像 李华
网站建设 2026/6/15 11:29:44

逻辑漏洞的Fuzzing测试方法

第一部分:开篇明义 —— 定义、价值与目标 在渗透测试与网络攻防的武器库中,针对SQL注入、XSS、命令执行等传统漏洞的检测手段已高度自动化与模式化。然而,有一类漏洞如同隐藏在程序思维深处的幽灵,它们不违反语法,不…

作者头像 李华
网站建设 2026/5/30 1:40:51

Visual Studio 2026深度体验:AI原生IDE如何重塑开发工作流

每一次IDE的革新,都是开发效率的一次革命。摘要 Visual Studio 2026是微软于2025年11月发布的集成开发环境,被誉为全球首款AI原生IDE。本文将深入分析其核心特性:AI深度集成(自适应粘贴、智能调试、URL上下文理解等)、…

作者头像 李华
网站建设 2026/6/15 11:29:24

基于 Java Web 的软件工程毕业设计选题指南:常见系统类型与实现思路解析

写在前面:这篇文章适合谁,看完能解决什么问题 这篇文章主要面向正在准备或已经开始毕业设计的计算机专业学生,尤其是软件工程方向的毕业生。如果你在 软件工程毕业设计 阶段遇到了选题拿不准、系统规模不好把控、不知道如何体现软件工程思想等…

作者头像 李华
网站建设 2026/6/14 21:31:30

awk NF变量用法详解:快速获取每行列数与操作字段技巧

在文本处理中,awk的NF是一个极为实用的内置变量,它代表当前记录(即行)的字段数量。理解并熟练运用NF,能让你在处理结构化或半结构化文本时,快速定位和操作数据,大幅提升工作效率。 awk NF是什么…

作者头像 李华
网站建设 2026/6/15 11:31:39

浏览器CSS兼容性问题解决与常见差异

在Web前端开发中,CSS样式浏览器兼容问题是一个无法回避的现实挑战。不同浏览器对CSS规范的支持程度存在差异,导致同一段样式代码在不同浏览器中呈现效果不一致。作为开发者,我们需要理解这些差异的根源,掌握有效的解决方法&#x…

作者头像 李华