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

arkUI:层叠布局(Stack)

arkUI:层叠布局(Stack)

  • 1 主要内容说明
  • 2 相关内容
    • 2.1 层叠布局(Stack)
      • 2.1.1 源码1的相关说明
      • 2.1.2 源码1 (层叠布局)
      • 2.1.3 源码1运行效果
        • 2.1.3.1 当`alignContent: Alignment.Bottom`
        • 2.1.3.2 当`alignContent: Alignment.BottomStart`
        • 2.1.3.3 当`alignContent: Alignment.BottomEnd`
        • 2.1.3.4 当`alignContent: Alignment.Center`
        • 2.1.3.5 当`alignContent: Alignment.Start`
        • 2.1.3.6 当`alignContent: Alignment.End`
        • 2.1.3.7 当`alignContent: Alignment.TopStart`
        • 2.1.3.8 当`alignContent: Alignment.Top`
        • 2.1.3.9 当`alignContent: Alignment.TopEnd`
  • 3.结语
  • 4.定位日期

1 主要内容说明

在 ArkUI 中,Stack 布局是一个容器,它用于将多个子组件堆叠在一起。Stack 布局常用于实现垂直或水平的层叠效果。它的特点是所有的子组件都在同一层级上,因此会在同一空间内覆盖和堆叠。可以使用对齐属性来控制子组件在堆叠容器中的排列方式。用alignContent:来设置子组件的对齐方式。

2 相关内容

2.1 层叠布局(Stack)

层叠布局用alignContent:来设置子组件的对齐方式,对齐方式常用有9种,如下表:

开始位中位结尾位
TopStar(上左)Top(上)TopEnd(上右)
Start(左)Center(居中)End(右)
BottomStart(下左)Bottom(下)BottomEnd(下右)
  • Stack 布局是将所有子组件层叠显示的,组件间的位置相互叠加。
  • 可以通过设置 alignContent 来控制子组件的排列方式。
  • 不同于 Flex 布局,Stack 布局中的子组件不在水平或垂直方向上进行排列,而是按顺序堆叠

2.1.1 源码1的相关说明

源码1使用用了 Stack 和 Column 布局来创建一个堆叠布局,组件根据其顺序依次堆叠,并应用不同的背景颜色、宽度、高度和圆角。Stack 布局是一个容器,用于将多个子组件垂直堆叠。在这个例子中,alignContent: Alignment.Bottom 设置了子组件在堆叠时对齐到底部,意味着最后一个子组件(组件4)会紧贴容器的底部,其他子组件则会按顺序堆叠在上面。

2.1.2 源码1 (层叠布局)

@Entry
@Component
struct Page08Stack {build() {// Stack 布局,组件将垂直堆叠在一起,alignContent 设置为 Alignment.Bottom,意味着堆叠的内容会对齐到底部Stack({ alignContent: Alignment.Bottom }) {// 第一列,组件1Column() {Text("组件1").fontSize(22) // 设置文本字体大小为 22}.width("80%") // 设置列的宽度为容器宽度的 80%.backgroundColor("#86c5e3") // 设置背景色为浅蓝色.height("80%") // 设置列的高度为容器高度的 80%.borderRadius({ topLeft: 30, topRight: 30 }) // 设置圆角,上左和上右分别为 30// 第二列,组件2Column() {Text("组件2").fontSize(22) // 设置文本字体大小为 22}.width("60%") // 设置列的宽度为容器宽度的 60%.backgroundColor("#92d6cc") // 设置背景色为浅绿色.height("60%") // 设置列的高度为容器高度的 60%.borderRadius(30) // 设置圆角为 30// 第三列,组件3Column() {Text("组件3").fontSize(22) // 设置文本字体大小为 22}.width("40%") // 设置列的宽度为容器宽度的 40%.backgroundColor("#f5dc62") // 设置背景色为黄色.height("40%") // 设置列的高度为容器高度的 40%.borderRadius({ topLeft: 30, topRight: 30 }) // 设置圆角,上左和上右分别为 30// 第四列,组件4Column() {Text("组件4").fontSize(22) // 设置文本字体大小为 22}.width("20%") // 设置列的宽度为容器宽度的 20%.backgroundColor("#ff920bc8") // 设置背景色为紫色.height("20%") // 设置列的高度为容器高度的 20%}.height(300) // 设置 Stack 容器的高度为 300.width('100%') // 设置 Stack 容器的宽度为 100%(占满整个屏幕宽度).backgroundColor("#ff6ce054") // 设置 Stack 容器的背景色为浅橙色}
}

2.1.3 源码1运行效果

2.1.3.1 当alignContent: Alignment.Bottom

在这里插入图片描述

2.1.3.2 当alignContent: Alignment.BottomStart

在这里插入图片描述

2.1.3.3 当alignContent: Alignment.BottomEnd

在这里插入图片描述

2.1.3.4 当alignContent: Alignment.Center

在这里插入图片描述

2.1.3.5 当alignContent: Alignment.Start

在这里插入图片描述

2.1.3.6 当alignContent: Alignment.End

在这里插入图片描述

2.1.3.7 当alignContent: Alignment.TopStart

在这里插入图片描述

2.1.3.8 当alignContent: Alignment.Top

在这里插入图片描述

2.1.3.9 当alignContent: Alignment.TopEnd

在这里插入图片描述

3.结语

图层相关的可以用zIndex来决定图层,哪个显示前,哪个显示后。不过本文例子不适合使用,如组件3使用zIndex后就会把组件4覆盖了。
由于笔者的能力有限,创作的内容有所不足在所难免,也敬请读者包涵和指出,万分感谢!

4.定位日期

相关文章:

arkUI:层叠布局(Stack)

arkUI:层叠布局(Stack) 1 主要内容说明2 相关内容2.1 层叠布局(Stack)2.1.1 源码1的相关说明2.1.2 源码1 (层叠布局)2.1.3 源码1运行效果2.1.3.1 当alignContent: Alignment.Bottom2.1.3.2 当al…...

【LeetCode】【算法】221. 最大正方形

LeetCode 221. 最大正方形 题目描述 在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。 思路 思路:动态规划。初始化时,第0列和第0行,若nums[i][j]1则dp[i][j]初始化为1&am…...

怎麼解除IP阻止和封禁?

IP地址被阻止的原因 安全問題如果有人使用 IP 地址試圖侵入某個網站或導致其他安全問題,則可能會禁止該 IP 以保護該網站。濫用或垃圾郵件如果IP地址發送過多垃圾郵件、發佈不當內容或濫用網站服務,則可能會被禁止,以保持網站清潔和友好。違…...

O-RAN Fronthual CU/Sync/Mgmt 平面和协议栈

O-RAN Fronthual CU/Sync/Mgmt 平面和协议栈 O-RAN Fronthual CU/Sync/Mgmt 平面和协议栈O-RAN前端O-RAN 前传平面C-Plane(控制平面):控制平面消息定义数据传输、波束形成等所需的调度、协调。U-Plane(用户平面)&#…...

一招解决Mac没有剪切板历史记录的问题

使用Mac的朋友肯定都为Mac的剪切功能苦恼过,旧内容覆盖新内容,导致如果有内容需要重复输入的话,就需要一次一次的重复复制粘贴,非常麻烦 但其实Mac也能够有剪切板历史记录功能,iCopy,让你的Mac也能拥有剪切…...

Node-Red二次开发:各目录结构说明及开发流程

node-red下载之前需要安装nodejs软件,然后设置环境变量; node-red下载之后,需要先安装依赖: 1. 安装依赖shell npm install # 或 yarn install 2. 运行shell npm run dev node-red的目录结构: node-red的前后端都是…...

论文阅读-Event-based Visible and Infrared Fusion via Multi-task Collaboration

一、前言 可见光图像与红外图像融合(VIF)通过结合热红外图像与可见光图像的丰富纹理,提供了一个全面可靠的场景描述。然而,传统的VIF系统可能在极端光照和高动态运动场景中捕获过曝或欠曝的图像,进而导致融合结果下降…...

Spring Boot2(Spring Boot 的Web开发 springMVC 请求处理 参数绑定 常用注解 数据传递 文件上传)

SpringBoot的web开发 静态资源映射规则 总结:只要静态资源放在类路径下: called /static (or /public or /resources or //METAINF/resources 一启动服务器就能访问到静态资源文件 springboot只需要将图片放在 static 下 就可以被访问到了 总结&…...

nginx中location模块中的root指令和alias指令区别

在 Nginx 配置中,location 模块用于定义如何处理特定请求路径。root 和 alias 是两个常用的指令,用于指定请求文件的位置,但它们有不同的行为。 root 指令 root 指令用于设置请求的根目录。当请求到来时,Nginx 会将请求的 URI 附…...

C++ 线程常见的实际场景解决方案

文章目录 一、主线程阻塞等待子线程返回1、代码示例2、代码改进 一、主线程阻塞等待子线程返回 主线程等待一个线程,此线程会开始连接一个服务器并循环读取服务器存储的值,主线程会阻塞直到连接服务器成功。因为如果不阻塞,可能上层业务刚开…...

Node.js——fs模块-文件删除

1、在Node.js中,我们可以使用unlink或unlinkSync来删除文件。 2、语法: fs.unlink(path,callback) fs.unlinkSync(path) 参数说明: path 文件路径 callback 操作后的回调函数 本文的分享到此结束,欢迎大家评论区一同讨论学…...

发布一个npm组件库包

Webpack 配置 (webpack.config.js) const path require(path); const MiniCssExtractPlugin require(mini-css-extract-plugin); const CssMinimizerPlugin require(css-minimizer-webpack-plugin); const TerserPlugin require(terser-webpack-plugin);module.exports {…...

处理PhotoShopCS5和CS6界面字体太小

处理PhotoShop CS6界面字体太小 背景:安装PhotoShop CS6后发现无法调大字体大小,特别是我的笔记本14寸的,显示的字体小到离谱。 百度好多什么降低该电脑分辨率,更改电脑的显示图标大小,或者PS里的首选项中的界面设置。…...

srs http-flv处理过程

目录 处理tcp请求,创建HttpConn 解析 http request创建consumer 读取consumer数据转封装为flv 处理tcp请求,创建HttpConn 调用堆栈如下: srs!SrsHttpConn::SrsHttpConn(ISrsHttpConnOwner*, ISrsProtocolReadWriter*, ISrsHttpServeMux*, std::__1::basic_string<ch…...

若Git子模块的远端地址发生了变化本地应该怎么调整

文章目录 前言git submodule 相关命令解决方案怎么保存子模块的版本呢总结 前言 这个问题复杂在既有Git又有子模块&#xff0c;本身Git的门槛就稍微高一点&#xff0c;再加上子模块的运用&#xff0c;一旦出现这种远端地址发生修改的情况会让人有些懵&#xff0c;不知道怎么处…...

docker运行code-servre并配置https通信

code-server 可以在浏览器中运行&#xff0c;使得开发者可以随时随地通过网络访问自己的开发环境&#xff0c;无需局限于某一台设备。只要有浏览器和网络连接&#xff0c;就可以继续编写代码和调试项目&#xff0c;非常适合远程办公和移动办公的需求。 由于每次启动code-serve…...

Linux 外设驱动 应用 4 触摸屏实验

触摸屏实验 1 触摸屏介绍1.1 基本应用介绍1.2 触摸屏工作原理介绍1.3 硬件介绍 2 应用代码编写2.1 找到输入设备2.2 打开驱动2.3 驱动查询应用2.4 应用结果 1 触摸屏介绍 1.1 基本应用介绍 LCD 显示屏包括显示屏和触摸屏&#xff0c;上层的是触摸屏&#xff0c;下层是显示屏。…...

Python-利用Pyinstaller,os库编写一个无限弹窗整蛊文件(上)

前言&#xff1a;本篇文章我们将学习一下如何利用你室友的这个习惯整蛊一下Ta,同时更重要的是借此提醒Ta要注意要做好个人信息的防泄露措施......&#xff08;声明&#xff1a;本次教学无任何不良引导&#xff09; 编程思路&#xff1a;本次编程中无限弹窗的实现我们需要调用Py…...

后台管理系统窗体程序:文章管理 > 文章列表

目录 文章列表的的功能介绍&#xff1a; 1、进入页面 2、页面内的各种功能设计 &#xff08;1&#xff09;文章表格 &#xff08;2&#xff09;删除按钮 &#xff08;3&#xff09;编辑按钮 &#xff08;4&#xff09;发表文章按钮 &#xff08;5&#xff09;所有分类下拉框 &a…...

图神经网络(GNN)入门笔记(2)——从谱域理解图卷积,ChebNet和GCN实现

一、谱域图卷积&#xff08;Spectral Domain Graph Convolution&#xff09; 与谱域图卷积&#xff08;Spectral Domain Graph Convolution&#xff09;对应的是空间域&#xff08;Spatial Domain&#xff09;图卷积。本节学习的谱域图卷积指的是通过频率来理解卷积的方法。 …...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...

简单介绍C++中 string与wstring

在C中&#xff0c;string和wstring是两种用于处理不同字符编码的字符串类型&#xff0c;分别基于char和wchar_t字符类型。以下是它们的详细说明和对比&#xff1a; 1. 基础定义 string 类型&#xff1a;std::string 字符类型&#xff1a;char&#xff08;通常为8位&#xff09…...

C#最佳实践:为何优先使用as或is而非强制转换

C#最佳实践&#xff1a;为何优先使用as或is而非强制转换 在 C# 的编程世界里&#xff0c;类型转换是我们经常会遇到的操作。就像在现实生活中&#xff0c;我们可能需要把不同形状的物品重新整理归类一样&#xff0c;在代码里&#xff0c;我们也常常需要将一个数据类型转换为另…...