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

网站建设丨下拉找金手指信誉最新做做网站

网站建设丨下拉找金手指信誉,最新做做网站,wordpress文件上传类型,crm系统哪种品牌的好本文聚焦于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/509079.html

相关文章:

  • docker desktop创建ollama容器端口绑定失败
  • AD怎么把选中的器件放到一起
  • Kubernetes (四)网络插件详解:Flannel 与 Calico 的原理、数据流向与实战对比
  • 专业网站搭建定做网上购物商城排名
  • 中国文化网站建设策划书城阳做网站找哪家好
  • js前端this指向规则
  • 怎样申请免费网站wordpress 360收录
  • 深圳网站制作公司排名网站建设报班
  • 算命网站开发电话汉服网站的建设
  • 前端-Vue3项目创建以及初始化
  • 网站建设用户登录源码科技小发明小制作
  • 网站设计的大公司上海it驻场服务外包
  • C++:STL--》 mapset以及multsetmultmap的使用
  • 织梦网站建设实训心得黄金网站软件入口免费
  • 01-Kubernetes基本操作
  • 山东网络建站推广我想做电商怎么做
  • 商品网站开发需求表优质的响应式网站建设
  • 操作系统面经1——进程管理
  • 中山微网站建设报价重庆网站建设 重庆网站制作
  • 做视频网站需要什么软件有哪些云电脑免费版永久使用
  • 常州城乡建设局网站网站最新程序策划书
  • 环保局网站建设申请网络游戏名字
  • 阿里Qoder 【新手一小时0-1开发前后端系统】附详细过程
  • 网络营销型网站策划中国软件是外包公司吗
  • 网站建设与管理怎么做塘沽网站优化
  • DeepSeek-AI团队开源的DeepSeek-OCR模型
  • 上海建筑网站建设wordpress添加活动
  • 笔试-模拟打印
  • 中堂东莞网站建设网站界面设计中的版式设计有哪些
  • missionplanner飞行模式参数调参释义一览