news 2026/7/10 18:06:56

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/7/1 11:35:48

AI智能评估系统:让机器学会“精准打分”的核心逻辑

从招聘面试的能力测评,到数字资产的价值判断,再到大模型输出的质量校验,AI智能评估系统正逐步替代传统主观评估,用技术实现“可量化、可追溯、可优化”的评估闭环。它并非复杂的黑箱,核心是靠数据与算法,让…

作者头像 李华
网站建设 2026/7/1 11:36:27

Mutex相比Semaphore的优势:所有权明确防误用

在多线程编程中,正确管理共享资源访问是保证程序稳定性的关键。mutex(互斥锁)和semaphore(信号量)是两种常用的同步原语,它们都能协调线程执行,但设计哲学和适用场景有显著区别。理解mutex相较于…

作者头像 李华
网站建设 2026/7/1 7:31:47

DeepSeek降AI指令怎么写?手把手教你5步降到15%以下

DeepSeek降AI指令怎么写?手把手教你5步降到15%以下 用DeepSeek写论文,AI率太高怎么降?网上那些「一键降AI指令」基本没用,我试了一圈才摸索出真正有效的写法。 今天把这套方法完整分享出来,照着做,AI率能…

作者头像 李华
网站建设 2026/7/6 10:49:57

基于SpringBoot的农业信息管理系统(源码+lw+部署文档+讲解等)

课题介绍 随着农业现代化、数字化的快速推进,传统农业信息管理模式存在信息分散、传递滞后、管理不规范、资源共享不畅等问题,农户、农业合作社及相关管理部门难以快速获取精准的农业政策、农技知识、市场行情、农资信息等内容,既制约了农业生…

作者头像 李华