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

仙居做网站在哪里做项目网格化管理方案

仙居做网站在哪里做,项目网格化管理方案,专业的手机网站建设,科技与狠活本文聚焦于ArkUI的布局实战,三种十分重要的布局,线性布局、弹性布局、层叠布局,在实际开发过程中这几种布局方法都十分常见,下面直接上手 线性布局 垂直布局(Column) 官方文档: Column-行列…

本文聚焦于ArkUI的布局实战,三种十分重要的布局,线性布局、弹性布局、层叠布局,在实际开发过程中这几种布局方法都十分常见,下面直接上手

线性布局

垂直布局(Column)

官方文档: 

Column-行列与堆叠-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

 沿垂直方向布局的容器,在此容器中,所有子组件都会沿着垂直方向排列,也就数从上往下排

 参数表:

参数名类型必填说明
spacestring | number

纵向布局元素垂直方向间距。

从API version 9开始,space为负数或者justifyContent设置为FlexAlign.SpaceBetween、FlexAlign.SpaceAround、FlexAlign.SpaceEvenly时不生效。

默认值:0

单位:vp

说明:

可选值为大于等于0的数字,或者可以转换为数字的字符串。

 代码部分:

在垂直布局中,有两个十分重要的属性:

属性名功能描述参数类型参数说明默认值
alignItems设置子组件在水平方向上的对齐HorizontalAlign子组件在水平方向上的对齐格式HorizontalAlign.Center
justifyContent设置子组件在垂直方向上的对齐FlexAlign子组件在垂直方向上的对齐格式FlexAlign.Start
import { getRandomRGBA } from '../../../Utils'@Entry
@Component
struct ColumnCase {build() {NavDestination() {Column({ space: 30 }) {Text('垂直布局').fontSize(24).fontWeight(FontWeight.Bold)Column({ space: 10 }) {ForEach(Array.from({ length: 10 }), () => {Text().backgroundColor(getRandomRGBA()).width(200).height(20)})}.justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center)}.height('100%').width('100%')}}
}@Builder
function ColumnCaseBuilder() {ColumnCase()
}

  可以看到在背景色部分我使用了一个函数生成随机的颜色,这个函数如下:

// 随机生成rgba颜色
export const getRandomRGBA = () => {const r = Math.floor(Math.random() * 256);const g = Math.floor(Math.random() * 256);const b = Math.floor(Math.random() * 256);return `rgba(${r}, ${g}, ${b}, ${1})`;
}

 效果展示:

 

 水平布局(Row)

官方文档:

Row-行列与堆叠-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

沿水平方向布局容器,这个组件中的子组件会沿着水平方向排列,参数表:

参数名类型必填说明
spacenumber | string

横向布局元素间距。

从API version 9开始,space为负数或者justifyContent设置为FlexAlign.SpaceBetween、FlexAlign.SpaceAround、FlexAlign.SpaceEvenly时不生效。

默认值:0,单位vp

说明:

可选值为大于等于0的数字,或者可以转换为数字的字符串。

 代码部分:

在水平布局容器中也有两个十分重要的属性:

属性名功能描述参数类型是否必填参数说明默认值
alignItems设置子组件在垂直方向上的对齐VerticalAlign子组件在垂直方向上的对齐格式VerticalAlign.Center
justifyContent设置子组件在水平方向上的对齐FlexAlign子组件在水平方向上的对齐格式FlexAlign.Start
import { getRandomRGBA } from '../../../Utils'@Entry
@Component
struct RowCase {build() {NavDestination() {Column({ space: 30 }) {Text('水平布局').fontSize(24).fontWeight(FontWeight.Bold)Row({ space: 10 }) {ForEach(Array.from({ length: 20 }), () => {Text().backgroundColor(getRandomRGBA()).width(40).height(200)})}.justifyContent(FlexAlign.Center).alignItems(VerticalAlign.Center)}.height('100%').width('100%')}}
}@Builder
function RowCaseBuilder() {RowCase()
}

 效果展示:

 弹性布局(Flex)

官方文档:

Flex-行列与堆叠-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

 Flex是以弹性方式布局子组件的容器组件,提供更加有效的方式对容器内的子元素进行排列、对齐和分配剩余空间,也就是子组件会随着容器宽度的限制而自动换行,不会挤在一块,但是使用的时候需要加上一个参数使用,才能达到换行的效果,就是:

Flex({ wrap: FlexWrap.Wrap }) // 设置这个参数之后才有换行效果

参数表:

名称类型必填说明
directionFlexDirection

子组件在Flex容器上排列的方向,即主轴的方向。

默认值: FlexDirection.Row

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

wrapFlexWrap

Flex容器是单行/列还是多行/列排列。

默认值: FlexWrap.NoWrap

说明:

在多行布局时,通过交叉轴方向,确认新行堆叠方向。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

justifyContentFlexAlign

所有子组件在Flex容器主轴上的对齐格式。

默认值: FlexAlign.Start

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

alignItemsItemAlign

所有子组件在Flex容器交叉轴上的对齐格式。

默认值: ItemAlign.Start

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

alignContentFlexAlign

交叉轴中有额外的空间时,多行内容的对齐方式。仅在wrap为Wrap或WrapReverse下生效。

默认值: FlexAlign.Start

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

space12+FlexSpaceOptions12+

所有子组件在Flex容器主轴或交叉轴的间距。

默认值: {main:LengthMetrics.px(0), cross:LengthMetrics.px(0)}

space为负数、百分比或者justifyContent设置为FlexAlign.SpaceBetween、FlexAlign.SpaceAround、FlexAlign.SpaceEvenly时不生效。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

 代码部分:

在以下代码中第一个Flex组件没有设置Wrap参数,子组件就会直接默认水平排列,而第二个Flex设置了Wrap参数,子组件就可以自动换行:

import { getRandomRGBA } from '../../../Utils'@Entry
@Component
struct FlexCase {build() {NavDestination() {Column({ space: 30 }) {Text('弹性布局').fontSize(24).fontWeight(FontWeight.Bold)Flex() {ForEach(Array.from({ length: 10 }), () => {Text().backgroundColor(getRandomRGBA()).width(60).margin({ right: 20, bottom: 20 }).height(30)})}Flex({ wrap: FlexWrap.Wrap }) {ForEach(Array.from({ length: 10 }), () => {Text().backgroundColor(getRandomRGBA()).width(60).margin({ right: 20, bottom: 20 }).height(30)})}}.height('100%').width('100%')}}
}@Builder
function FlexCaseBuilder() {FlexCase()
}

 效果展示:

 层叠布局(Stack)

官方文档:

Stack-行列与堆叠-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

 Stack组件中的子组件会堆叠在一起,默认都是居中对齐,遵循后来居上的原则,如果需要设置层级,可给子组件设置zIndex(数字)属性,数字越大,层级越高, 

参数表:

参数名类型必填说明
alignContentAlignment

设置子组件在容器内的对齐方式。

默认值:Alignment.Center

Stack组件设置组件对齐的方式有两种,一种是通过参数设置:

Stack(value?: { alignContent?: Alignment })

第二种是通过属性设置:

Stack(){

// 子组件...

}

.alignContent(Alignment.Center)

 

 两种方式都选一种即可,对齐方式分为九种,如下:

对齐位置枚举值说明
左上Alignment.TopStart左上角对齐
上边居中Alignment.Top上边居中对齐
右上Alignment.TopEnd右上角对齐
左边居中Alignment.Start左边居中对齐
中心Alignment.Center中心对齐
右边居中Alignment.End右边居中对齐
左下Alignment.BottomStart左下角对齐
下边居中Alignment.Bottom下边居中对齐
右下Alignment.BottomEnd右下角对齐

如图:

 

  代码部分:

这里一共有三个Stack组件,第一个小图在左上,第二个默认都居中,第三个在右下,一共放了两张图片,一个在占满,一个显示位置

@Entry
@Component
struct StackCase {build() {NavDestination() {Text('层叠布局').fontSize(24).fontWeight(FontWeight.Bold)Column({ space: 20 }) {Stack({ alignContent: Alignment.TopStart }) {Image($r('app.media.ark_ui')).width(200).height(200)Image($r('app.media.avatar')).width(30).height(30)}.width(200).height(200)Stack() {Image($r('app.media.ark_ui')).width(200).height(200)Image($r('app.media.avatar')).width(30).height(30)}.width(200).height(200)Stack({ alignContent: Alignment.BottomEnd }) {Image($r('app.media.ark_ui')).width(200).height(200)Image($r('app.media.avatar')).width(30).height(30)}.width(200).height(200)}.height('100%').width('100%')}}
}@Builder
function StackCaseBuilder() {StackCase()
}

 效果展示:

ArkUI内容持续更新中........

http://www.dtcms.com/a/552809.html

相关文章:

  • ubuntu部署whisper+speaker_large+qwen【一】
  • 四大主流平台深度测评:2025企业自动化运维平台选型指南,自动化巡检平台适配关键场景
  • 计算机毕业设计 基于Python的热门游戏推荐系统的设计与实现 Django 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
  • 每周读书与学习->JMeter主要元件详细介绍(三)逻辑控制器
  • QML学习笔记(四十八)QML与C++交互:QML中可实例化C++对象
  • 深信服上网行为 SANGFOR_AC_v11.0_AD域密码认证配置
  • RKNN-Toolkit2入门
  • 服务器公网IP、私网IP、弹性IP是什么?区别与应
  • 无锡哪家做网站好怎么做公司网站文案
  • php做网站架构图建站时候源码有验证怎么办
  • 10. 引用计数
  • 利用DeepSeek辅助改写luadbi-duckdb支持日期和时间戳数据类型
  • 用 Redis 的 List 存储库存队列,并通过 LPOP 原子性出队来保证并发安全案例
  • 定制开发开源AI智能名片S2B2C商城系统:新零售革命下云零售模式的创新实践
  • WebForms Validation
  • AI智能办公系统/企业OA办公/DeepSeek办公应用★pc/公众号/H5/App/小程序
  • 破局冷轧困境:RFID 赋能钢厂高效安全升级
  • 线程同步机制及三大不安全案例
  • Leetcode438. 找到字符串中所有字母异位词
  • 站内推广和站外推广的区别wordpress采集生成用户插件
  • 高清的网站制作iis7.0搭建网站
  • 使用 Docker Compose 部署 Spring Boot 应用:SmartAdmin 实战指南
  • 徐州建设企业网站网站建设与网站制作
  • 拆解ASP.NET MVC 视图模型:为 View 量身定制的 “数据小票“
  • 使用Docker搭建DOClever接口管理平台
  • 2025年10月个人工作生活总结
  • 金仓售后服务体系:构建高可用数据库运维新范式
  • 融入现代消费生活 浦发故宫文化主题卡的传承与创新
  • Android Studio Narwhal 4:创建空应用报错 —— AAPT2 process unexpectedly exit 的排查与解决
  • 九寨:在山水间触摸生活的诗意