【学习笔记】鸿蒙UI开发-布局(ArkTs)

这篇具有很好参考价值的文章主要介绍了【学习笔记】鸿蒙UI开发-布局(ArkTs)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开源项目

GitHub:LearnHos

码云:LearnHos


布局

自适应布局

拉伸能力

定义

当父容器的尺寸发生变化时,增加或减少的空间全部分配给父容器内的指定子组件

场景1:自动填充

实现:容器组件-Row + 基础组件Blank

场景2:按指定的比例拉伸或收缩
  • 拉伸

    当父容器在主轴方向上的尺寸大于所有子组件的尺寸之和时

    实现:组件通用属性-Flex布局-FlexGrow

  • 收缩

    当父容器在主轴方向上的尺寸小于所有子组件的尺寸之和时

    实现:组件通用属性-Flex布局-FlexShrink

代码示例

GitHub:自适应布局-拉伸能力

码云:自适应布局-拉伸能力

均分能力

定义

当父容器的尺寸发生变化时,增加或减少的空间全部均匀分配给父容器内的空白区域

场景

内容数量固定、均分显示。

实现方案1:容器组件-Flex + 参数justifyContent

实现方案2:容器组件-Row + 属性justifyContent

实现方案3:容器组件-Row + 基础组件Blank

代码示例

GitHub:自适应布局-均分能力

码云:自适应布局-均分能力

占比能力

TODO

缩放能力

TODO

延伸能力

TODO

隐藏能力

TODO

折行能力

TODO

响应式布局

断点

TODO

媒体查询

TODO

栅格布局

TODO


【资料】ArkTs语言

组件

组件通用信息

通用事件

TODO

通用属性
Flex布局

官方API文档:Flex布局

注意

  • 仅当父组件是 Flex、Column、Row 时生效。
Flex布局-FlexGrow

定义

设置父容器的剩余空间分配给此属性所在组件的比例。默认值为0。

使用

案例:自适应布局-拉伸能力

Flex布局-FlexShrink

定义

设置父容器压缩尺寸分配给此属性所在组件的比例。

父容器为Row、Column时,默认值:0

父容器为flex时,默认值:1

使用

案例:自适应布局-拉伸能力

手势处理

TODO

基础组件

Blank

官方API文档:Blank

定义

空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。

使用

Blank()
//设置填充颜色
Blank().color(Color.Yellow)
Blank().color('#FFF24D')
Blank().backgroundColor(Color.Yellow)
Blank().backgroundColor('#FFF24D')
//设置最小宽度为160
Blank('160').color(Color.Yellow)

案例:自适应布局-拉伸能力

注意

  • 仅当父组件为 容器组件-Row / Column 时生效。

  • Blank的父组件如果不设置宽度,那么Blank会失效,可以通过设置Blank的最小宽度来填充固定宽度。

容器组件

Column

官方API文档:Column

定义

沿垂直方向布局的容器。可以包含子组件。

使用

//参数
/*
纵向布局元素垂直方向间距。
默认值:0,单位vp
*/
Column({space:10}){
}

//属性
/*
设置子组件在水平方向上的对齐格式。
默认值:HorizontalAlign.Center
*/
Column(){
}
.width('100%')
.height(30)
.alignItems(HorizontalAlign.Center)

/*
设置子组件在垂直方向上的对齐格式。
默认值:FlexAlign.Start
*/
Column(){
}
.width('100%')
.height(30)
.justifyContent(FlexAlign.Start)
Row

官方API文档:Row

定义

沿水平方向布局容器。可以包含子组件。

使用

//参数
/*
横向布局元素间距。
默认值:0,单位vp
*/
Row({space:10}){
}

//属性
/*
设置子组件在垂直方向上的对齐格式,
默认值:VerticalAlign.Center
*/
Row(){
}
.width('100%')
.alignItems(VerticalAlign.Center)

/*
设置子组件在水平方向上的对齐格式,
默认值:FlexAlign.Start
*/
Row(){
}
.width('100%')
.justifyContent(FlexAlign.Start)

案例:自适应布局-均分能力

Flex

官方API文档:Flex

定义

以弹性方式布局子组件的容器组件。可以包含子组件。

使用

//参数
/*
子组件在Flex容器上排列的方向,即主轴的方向。
*/
Flex({direction:FlexDirection.Row}){
}

/*
Flex容器是单行/列还是多行/列排列。
*/
Flex({wrap:FlexWrap.NoWrap}){
}

/*
子组件在Flex容器主轴上的对齐格式。
*/
Flex({justifyContent:FlexAlign.Start}){
}

/*
子组件在Flex容器交叉轴上的对齐格式。
*/
Flex({alignItems:ItemAlign.Start}){
}

/*
交叉轴中有额外的空间时,多行内容的对齐方式。仅在wrap为Wrap或WrapReverse下生效。
*/
Flex({alignContent:FlexAlign.Start}){
}

案例:自适应布局-均分能力

媒体组件

TODO

绘制组件

TODO

画布组件

TODO


其它

【学习笔记】鸿蒙应用开发路线概览
【学习笔记】鸿蒙应用开发工具 HUAWEI DevEco Studio


持续更新中~文章来源地址https://www.toymoban.com/news/detail-449334.html

到了这里,关于【学习笔记】鸿蒙UI开发-布局(ArkTs)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HarmonyOS应用开发学习笔记 ArkTS 布局概述

    布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置。在实际的开发过程中,需要遵守以下流程保证整体的布局效果 确定页面的布局结构。 分析页面中的元素构成。 选用适合的布局容器组件或属性控制页面中各个元素的位置和大小约束。 布局元素的组成

    2024年02月01日
    浏览(47)
  • 鸿蒙4.0开发笔记之ArkTS语法基础的UI描述、基础组件的使用与如何查看组件是否有参数(八)

    在HarmonyOS的ArkTS语法中,万物皆组件。ArkTS以声明方式组合和扩展组件来描述应用程序的UI,同时还提供了基本的属性、事件和子组件配置方法,帮助开发者实现应用交互逻辑。根据组件构造方法的不同,创建组件包含有参数和无参数两种方式。 1、无/有参数组件 无参数组件:

    2024年02月03日
    浏览(40)
  • OpenHarmony鸿蒙原生应用开发,ArkTS、ArkUI学习踩坑学习笔记,持续更新中。

    结论:在BIOS里面将Hyper-V打开,DevEco Studio模拟器可以成功启动。 如果在另外的文件中引用组件,需要使用export导出,并在使用的页面import该自定义组件。 1.自定义组件(被导入组件) 2.组合组件(引用自定义组件) 1、main_pages.json配置文件配置静态路由地址,配置文件

    2024年02月04日
    浏览(80)
  • 鸿蒙ArkTS小短剧开源项目进行中

    使用ArtTS语言,API9以上,HarmonyOS系统的短剧开源代码,使用GSYVideoPlayer作为核心播放器的小短剧。主要以ArkTS,ArkUI编写为主,拥有市面上的短剧页面。 推荐页面,主要随机推荐热门的小短剧并播放 短剧页面,主要是对短剧类型进行了分类,可供选择。 收藏界面,主要是对自

    2024年04月16日
    浏览(35)
  • HarmonyOS鸿蒙开发指南:基于ArkTS开发 轻量级智能穿戴 体验应用、构建布局、绘制样式​​​​​​​和交互事件

    目录 体验应用 构建布局 绘制样式​​​​​​​ 交互事件 HelloWorld工程目录如下图所示: 图1  目录结构 pages/index/index.hml

    2024年02月01日
    浏览(56)
  • 【鸿蒙开发】第七章 ArkTS语言UI范式-基础语法

    通过前面的章节,我们基本清楚鸿蒙应用开发用到的语言和项目基本结构,在【鸿蒙开发】第四章 Stage应用模型及项目结构也提到过ArkTS的UI范式的 基本语法 、 状态管理 、 渲染控制 等能力,简要介绍如下: 基本语法 : ArkTS 定义了 声明式UI描述 、 自定义组件 和 动态扩展

    2024年02月03日
    浏览(64)
  • 鸿蒙开发-UI-布局-线性布局

    鸿蒙开发-序言 鸿蒙开发-工具 鸿蒙开发-初体验 鸿蒙开发-运行机制 鸿蒙开发-运行机制-Stage模型 鸿蒙开发-UI 鸿蒙开发-UI-组件 鸿蒙开发-UI-组件-状态管理 鸿蒙开发-UI-应用-状态管理 鸿蒙开发-UI-渲染控制 鸿蒙开发-UI-布局 文章目录 前言 一、基本概念 二、布局子元素 1.子元素

    2024年01月18日
    浏览(45)
  • 鸿蒙开发-UI-布局-栅格布局

    鸿蒙开发-UI-布局 鸿蒙开发-UI-布局-线性布局 鸿蒙开发-UI-布局-层叠布局 鸿蒙开发-UI-布局-弹性布局 鸿蒙开发-UI-布局-相对布局 文章目录 前言 一、基本概念 二、格栅容器组件 1.栅格系统断点 2.布局的总列数 3.排列方向 4.子组件间距 三、格栅容器子组件 1.span 2.offset 3.order 四、

    2024年02月20日
    浏览(39)
  • 鸿蒙Harmony应用开发—ArkTS-全局UI方法(警告弹窗)

    显示警告弹窗组件,可设置文本内容与响应回调。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用,参见UIContext说明。 从API version 10开始,可以通过使用U

    2024年04月26日
    浏览(38)
  • HarmonyOS应用开发学习笔记 UI布局学习 相对布局 (RelativeContainer)

    官方文档 其实很好理解 :alignRules{}里面表示: 元素四个方向(left,top,bottom,right), 相对于谁(anchor:‘id’) 的什么位置(HorizontalAlign.Start ,VerticalAlign.Bottom ,VerticalAlign.Bottom, HorizontalAlign.End ) RelativeContainer为采用相对布局的容器,支持容器内部的子元素设置相对位

    2024年02月02日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包