当前位置: 首页 > news >正文

【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置

在这里插入图片描述
在这里插入图片描述

文章目录

    • 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置
        • RelativeContainer 和 AlignRules 的关系
        • AlignRules 语法详解

【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置

RelativeContainer 和 AlignRules 的关系

RelativeContainer 是一种布局容器,允许您根据容器内部的其他元素或容器本身来定义组件的相对位置。使用 RelativeContainer 可以更灵活地安排组件之间的关系,而不需要明确指定组件的绝对位置。
AlignRules是为了对RelativeContainer这一弹性布局容器中的子容器设置对齐规则。

AlignRules 语法详解
RelativeContainer(){Row(){Text('未知用户').margin({right:10})Text('待完善').border({width:1,color:'#3274f6',style:BorderStyle.Solid})}.alignRules({top:{anchor:'__container__',align:VerticalAlign.Top},middle:{anchor:'__container__',align:HorizontalAlign.Center}})
}
  • 代码示例中的top,middlealignRules中的属性,分别表示了该组件的上下左右边界以及水平和竖直的中心轴,具体的表示规则如下:

在这里插入图片描述

  • anchor指的是锚点,即子容器相对于哪个容器进行布局,__container__表示容器本身,如果说需要相对于其他的子容器进行布局,也可以在其他的子容器上设置id,并且设置该id的锚点。
// 第一个组件:按钮,位于容器顶部居中
Button('按钮1').id('button1') // 设置组件的 id 为 'button1'.alignRules({top: {anchor: '__container__', // 相对于容器顶部align: VerticalAlign.TOP},center: {anchor: '__container__', // 相对于容器水平居中align: HorizontalAlign.CENTER}})// 第二个组件:文本,位于按钮的下方并水平居中
Text('这是相对按钮1的文本').alignRules({top: {anchor: 'button1', // 相对于 'button1' 的下方align: VerticalAlign.BOTTOM},center: {anchor: '__container__', // 水平居中对齐align: HorizontalAlign.CENTER}})
  • 水平方向和竖直方向的排布规则:
    请添加图片描述
    总结:该代码的含义是,首先通过anchor做相对定位,然后让组件的top/center/bottom/start/middle/end 去与 容器在水平或竖直方向对应的轴 对齐

因此,如果想让组件在容器的顶部居中,对应的alignRules应为:

.alignRules({top:{anchor:'__container__',align:VerticalAlign.Top},middle:{anchor:'__container__',align:HorizontalAlign.Center}})

在这里插入图片描述

http://www.lryc.cn/news/439584.html

相关文章:

  • java之认识异常
  • JSON处理工具类
  • 2022高教社杯全国大学生数学建模竞赛C题 问题一(2) Python代码演示
  • ARACom Proxy Class API 概念
  • 【Scala入门学习】基本数据类型和变量声明
  • C#基础(13)结构体
  • Excel图片批量插入单元格排版处理插件【图片大师】
  • 应用性能优化实践(二)提升应用启动和响应速度
  • 接口测试系列文章专题
  • Unity Hub自动安装指定版本Unity的Android开发环境
  • 从0开始学ARM
  • 每日一题——第九十四题
  • Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
  • 后续学习规划 ----含我个人的学习路线,经历及感受
  • Skytower
  • 成型的程序
  • 卡尔曼滤波中Q和R与噪声的关系
  • sicp每日一题[2.10]
  • MCN跨国企业如何从0到1搭建ITSM运维体系
  • 【C++入门学习】7. 类型
  • 视频服务器:GB28181网络视频协议
  • vue3 一次二次封装element-plus组件引发的思考
  • [Web安全 网络安全]-文件读取与下载漏洞
  • 2024.9.12(k8s环境搭建2)
  • Redis 字典的哈希函数和 rehash 操作详解
  • 汉王手写签批控件如何在谷歌、火狐、Edge等浏览器使用
  • Halo 开发者指南——项目运行、构建
  • 【C++】——list
  • 07_Python数据类型_集合
  • 结合人工智能,大数据,物联网等主流技术实现业务流程的闭环整合的名厨亮灶开源了