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

news2024/11/18 19:57:49

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

文章目录

    • 【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.coloradmin.cn/o/2132926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RK3588九鼎创展方案在Arm集群服务器的项目中的应用分析​​

RK3588九鼎创展核心板,搭载8核瑞芯微3588芯片,具备高性能、低功耗以及强大的多媒体和AI处理能力。在Arm集群服务器项目中,RK3588系列芯片用有明显的性能优势。本文将结合RK3588芯片的性能特征以及九鼎创展的项目经验来分析RK3588在集群服务器…

编写XBOX控制器实现鼠标键盘输入

1.核心部分, XINPUT输入封装 XInput封装https://mp.csdn.net/mp_blog/creation/editor/1420701282.对话框窗口编写 Win32 对话框封装-CSDN博客https://blog.csdn.net/Flame_Cyclone/article/details/142110008?spm1001.2014.3001.5501 3.使用到的其他封装 字符串编码转换与…

惊人转变!从信息奴隶到思考大师,你只需掌握这几点专注力提升法!

引言 信息超载时代的今天,人们的主要问题不再是获取信息的资源渠道不足,任何一个信息,都可以通过一篇文章,一个视频来找到对应的相关信息,无极生太极、太极生两仪、两仪生四象。任何一个信息源中,都包含着…

设计模式-行为型模式-备忘录模式

1.备忘录模式定义 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态; 1.1 备忘录模式的优缺点 优点 提供了一种状态恢复的实现机制,使得用户可以…

社区营销:如何通过聚集人群提升品牌

“没有人是孤岛”,约翰多恩这样写道。如果可以,请忽略他的性别偏见。他写这句话是在1624年(那时候真的不一样)。尽管如此,几个世纪后,他的话依然铿锵有力:很少有人能够在孤独中茁壮成长。我们是…

Maven从入门到精通(二)

一、什么是pom.xml pom.xml是Maven项目的核心配置文件,它是 项目对象模型 - Project Object Model(POM)的缩写。POM定义了项目的所有属性,包括项目的名称、版本、依赖关系、构建配置等。使用pom.xml,我们可以轻松地管…

栈实现基本计算器

leetcode题目链接 这题其实和逆波兰表达式很像,无非多了个(和) 我们可以定义三个变量。 result表示当前计算结果 sign表示是还是- number表示当前数字 遍历字符串 利用isDigit 方法 提出数字 如果遇到加号resultsign*number 减号则将…

codeup:将已有文件夹推送到已有仓库

codeup:将已有文件夹推送到已有仓库 总流程git initgit remote add origin https://codeup.aliyun.com/xxx/xxx.gitgit add .git commit (会遇到很多问题)git push -u origin master (会遇到很多问题)成功在仓库中添加…

Unity 摄像机(Camera)详解

文章目录 0.前言1.相机属性介绍2.Unity 中多个相机画面堆叠显示2.1 3D 摄像机2.2 UI 摄像机2.3 摄像机的Culling Mask设置 0.前言 本文介绍的是使用Unity默认的内置渲染管线下的Camera组件,使用URP或HDRP则不同。 1.相机属性介绍 Clear Flags: 清除标记…

Java 创建对象内存分析

通过创建一个Pet类,以及new了两个Pet类的对象dog和cat来说明: 内存概念图:

揭秘!洞察用户心声的神秘策略,如何悄然引领业务爆炸式增长!

引言 在互联网和数字化技术的推动下,用户行为和消费模式发生了深刻变化。用户不再仅仅满足于产品的基本功能,而是更加关注个性化体验、情感连接和价值认同。因此,企业要想在激烈的市场竞争中脱颖而出,必须深入理解用户需求&#…

【解决方案】双系统中修复ubuntu引导

双系统中修复ubuntu引导 一、grub命令行进入ubuntu二、grub命令行进入windows三、可以进入windows的情况四、可以进入ubuntu的情况五、使用EasyUEFI软件编辑引导 windows安装ubuntu系统之后,无法进入系统选择界面,会出现以下几种情况。 一、grub命令行进…

【重学 MySQL】二十八、SQL99语法新特性之自然连接和 using 连接

【重学 MySQL】二十八、SQL99语法新特性之自然连接和 using 连接 自然连接(NATURAL JOIN)USING连接总结 SQL99语法在SQL92的基础上引入了一些新特性,其中自然连接(NATURAL JOIN)和USING连接是较为显著的两个特性。 自…

027.爬虫专用浏览器-绕过常见无头检测(二)

一、无头检测简介: 无头检测(Headless Detection)就是检测用户是否在无头浏览器。只要检测到,那百分百是爬虫。无头检测我们多数使用这个站:https://bot.sannysoft.com/之前写过一篇文章:插眼传送,绕过了部分检测&…

C盘空间不足如何解决?解决C盘空间不足的7个方法

当计算机的C盘(通常作为系统盘)空间不足时,会严重影响系统的运行效率和稳定性。针对这一问题,以下7个解决方案,可以帮助我们有效释放C盘空间,提升系统性能。 1.磁盘清理 利用Windows内置的磁盘清理工具…

【IPV6从入门到起飞】5-3 IPV6+Home Assistant(ESP32+MQTT+GPIO)远程控制灯

IPV6Home Assistant[ESP32MQTTGPIO]远程控制灯 1 背景2 Home Assistant 配置3 ESP32 配置3-1 工程代码3-2 硬件接线 4 实现效果 1 背景 在上一小节我们通过ESP32接入了Home Assistant,实现了温度、湿度、光照强度的数据采集,但智能家居更多的是实现控制…

IDEA 修改 ${USER} 配置

背景 安装了阿里巴巴代码规范插件,需要使用自动添加作者信息的功能 但是添加的是个人昵称,并非公司要求的工号等信息,于是需要做出修改 修改方案 历经一番波折后,终于发现其原理,是因为 插件添加作者信息&#xff0…

Version ‘18.19.0‘ not found - try `nvm ls-remote` to browse available versions.

nvm安装指定版本不好使了 使用 nvm install 18.19.0 一直报错 Version 18.19.0 not found - try nvm ls-remote to browse available versions.然而使用 nvm ls-remote 只看到 iojs-v1.0.0iojs-v1.0.1iojs-v1.0.2iojs-v1.0.3iojs-v1.0.4iojs-v1.1.0iojs-v1.2.0iojs-v1.3.0iojs…

GPU池化为实现Robotaxi按下快进键

日前,甲子光年智库推出《2022中国Robotaxi行业研究报告:探寻规模化商业落地之路》。Robotaxi(无人驾驶出租车)是自动驾驶技术发展应用的终极目标之一,新基建下的智慧共享出行将链接贯穿未来数智化生活全场景。 该报告从…