UI(四)布局

文章目录

          • 10、Navigator——路由器组件
          • 11、Pannel——可滑动面板
          • 12、Refresh——刷新组件
          • 13、RelativeContainer——相对布局组件
          • 14、Scroll——可滚动容器
          • 15、SideBarContainer——侧边栏容器
          • 16、Stack——堆叠容器
          • 17、Swiper——滑动块视图容器
          • 18、Tabs和TabContent——页签和页签视图容器

10、Navigator——路由器组件

Navigator是路由器组件,提供路由跳转能力
Navigator的构造函数参数有两个

target目标页面路由
type指定路由方式,默认值是Navigator.Push

type有3个值

push跳转到应用内的指定页面
Replace到应用内的某个页面替换当前页面,并销毁被替换的页面
Back返回上一个页面或指定页面
11、Pannel——可滑动面板

Pannel是可滑动面板,提供一种轻量的内容展示窗口,方便在不同尺寸间切换

Panel(true){Column(){Text('今日历程').width('100%').fontSize(30).textAlign(TextAlign.Center)Text('1、学习Java').width('100%').fontSize(20).textAlign(TextAlign.Start)Text('2、学习ArkUI').width('100%').fontSize(20).textAlign(TextAlign.Start)Text('1、学习Android').width('100%').fontSize(20).textAlign(TextAlign.Start)}}.type(PanelType.Foldable).mode(PanelMode.Half).dragBar(true)  //默认开启.halfHeight(300) //默认一半
12、Refresh——刷新组件

Refresh是可以进行页面下拉刷新操作的容器组件,主要参数

refreshing当前组件是否正在刷新
offset刷新组件静止时距离父组件顶部的位置,默认值是16,单位是Vp
friction下拉摩擦系数 取值范围0~100
Refresh({refreshing:false, //  组件是否正在刷新offset:120,   // 新组件静止时距离父组件顶部的距离friction:100  //摩擦系数  取值范围 0 ~ 100
}){Text('正在刷新').fontSize(30).margin(20)
}
.onStateChange((state:RefreshStatus) => {  //刷新状态监听})
13、RelativeContainer——相对布局组件
RelativeContainer(){//第一个位置父容器的顶部,靠左Row().width(100).height(100).backgroundColor("#ff3333").alignRules({top:{anchor:"__container__",align:VerticalAlign.Top}, //__container__ 为容器固定的idleft:{anchor:"__container__",align:HorizontalAlign.Start}}).id('row1')//第二个位置父容器顶部 水平位置结束Row().width(100).height(100).backgroundColor("#ffcc00").alignRules({top:{anchor:"__container__",align:VerticalAlign.Top},right:{anchor:"__container__",align:HorizontalAlign.End}}).id('row2')//第三个位置 顶部对齐row1的底部,左边对齐row1的结束Row().width(100).height(100).backgroundColor("#ff6633").alignRules({top:{anchor:"row1",align:VerticalAlign.Bottom},left:{anchor:"row1",align:HorizontalAlign.End}}).id('row3')// 第四个位置 父容器左边对齐 垂直方向的底部Row().width(100).height(100).backgroundColor("#ff9966").alignRules({left:{anchor:"__container__",align:HorizontalAlign.Start},bottom:{anchor:"__container__",align:VerticalAlign.Bottom}}).id('row4')//第五个位置 左边挨着row3的接水 底部对齐父容器底部Row().width(100).height(100).backgroundColor("#ff66ff").alignRules({left:{anchor:"row3",align:HorizontalAlign.End},bottom:{anchor:"__container__",align:VerticalAlign.Bottom}}).id('row5')}.width(300).height(300).border({width:2,color:"#6699FF"})

image.png

14、Scroll——可滚动容器

scroll是可滚动的容器组件,当子组件的布局尺寸超过父组件的尺寸,内容可以滚动。

 Scroll(new Scroller()){Column(){ForEach(this.numArr,(item) => {Text(item.toString()).width('90%').height(200).fontSize(40).backgroundColor(0xffffff).fontColor(Color.Red).margin({top:10}).textAlign(TextAlign.Center)},item => item)}.width('100%')}.scrollable(ScrollDirection.Vertical) //设置滚动方向为垂直.scrollBar(BarState.On) //滚动条常驻显示.scrollBarColor(Color.Blue).scrollBarWidth(30).edgeEffect(EdgeEffect.None).onScroll((xOffset: number, yOffset: number) => {console.info(xOffset + '  '+ yOffset)}).onScrollEdge((side:Edge) => {console.info("to the edge")}).onScrollStop(() => {console.info("scoll to stop")}).backgroundColor(0xDcDcdc)

image.png

15、SideBarContainer——侧边栏容器

SideBarContainer是提供侧边栏可以显示和隐藏的侧边栏容器,通过子组件定义侧边栏和内容区,第一个子组件表示侧边栏,第二个子组件表示内容区。

SideBarContainer(SideBarContainerType.Embed){Column(){Text('菜单1').width('100%').fontSize(23)Text('菜单2').width('100%').fontSize(23)}.width('100%').justifyContent(FlexAlign.SpaceEvenly).backgroundColor('#19000000')Column(){Text('内容1').width('100%').fontSize(23)Text('内容2').width('100%').fontSize(23)}
}

image.png

16、Stack——堆叠容器

Stack是堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个字组件

Stack() {Text('第一层').width('90%').textAlign(TextAlign.Center).height('90%').align(Alignment.Center).backgroundColor(Color.Red)Text('第二层').width('70%').textAlign(TextAlign.Center).height('70%').align(Alignment.Center).backgroundColor(Color.Blue)Text('第三层').width('40%').textAlign(TextAlign.Center).height('40%').align(Alignment.Center).backgroundColor(Color.Yellow)
}

image.png

17、Swiper——滑动块视图容器

Swiper是滑动块视图容器,提供子组件滑动轮播显示的能力

Swiper(){Image($r('app.media.img2')).width('100%').height(200)Image($r('app.media.img3')).width('100%').height(200)Image($r('app.media.img4')).width('100%').height(200)
}
.cachedCount(2)  //设置预加载子组件的个数
.index(1)  //当前容器默认展示子组件的索引值
.autoPlay(true) // 设置是否自动播放
.interval(4000)  //自动播放的时间间隔 单位毫秒
.loop(true)  //是否循环播放
.duration(1000)  // 子组件切换的动画时长
.itemSpace(20)  // 设置子组件与子组件之间的间隙
.curve(Curve.EaseOut)  // 设置Swiper的动画曲线

格式工厂 屏幕录像20240701_172805 00_00_00-00_00_09.gif

18、Tabs和TabContent——页签和页签视图容器

Tabs是通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图TabContent

barPosition设置tabs的页签位置,默认值是BarPosition.Start
index设置初始页签索引,默认值0
controllerTabs控制器
Tabs({ barPosition:BarPosition.Start,
index:1,
controller:new TabsController()}){TabContent(){Column().width('100%').height('100%').backgroundColor(Color.Red)}TabContent(){Column().width('100%').height('100%').backgroundColor(Color.Blue)}TabContent(){Column().width('100%').height('100%').backgroundColor(Color.Green)}
}
.vertical(false)  //设置为false是横向的tabs 设置为true是纵向的
.barMode(BarMode.Fixed) // TabBar布局样式
.barWidth(360)
.height(56)
.animationDuration(400)
.width('100%')
.height(360)
.margin({ top:52 })

格式工厂 屏幕录像20240701_174028 00_00_00-00_00_08.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39434.shtml

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

相关文章

vue为啥监听不了@scroll

哈喽 大家好 我在vue中写了一个滚动scroll监听事件 然后滚动鼠标 发现进不来我的方法断点 原因: 事件绑定错误:确保你使用scroll正确绑定到了可滚动容器上。 事件冒泡:滚动事件可能被封装在某些组件内部,导致不会冒泡到父元素上…

鸿蒙开发Ability Kit(程序访问控制):【使用粘贴控件】

使用粘贴控件 粘贴控件是一种特殊的系统安全控件,它允许应用在用户的授权下无提示地读取剪贴板数据。 在应用集成粘贴控件后,用户点击该控件,应用读取剪贴板数据时不会弹窗提示。可以用于任何应用需要读取剪贴板的场景,避免弹窗…

Android中的适配器,你知道是做什么的吗?

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD,日常还会涉及Android开发工作。 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起…

时间复利效应才是人生的催化剂

在追求成功的道路上,许多人都在寻找捷径。然而,真正的捷径并非不劳而获的幻想,而是通过长期坚持在某一领域深耕细作,享受时间复利效应带来的巨大收益。本文将探讨如何选择合适的领域并长期坚持下去,以实现成功。 时间…

DpEasy社区版1.4.1 | 针对托管账号进行功能完善

DpEasy 数据库特权账号管理平台社区版 1.4.1 已上线! 本次版本,主要针对托管账号做了新增功能和部分优化。具体如下: | 支持密码纠正 当出现 DpEasy 平台上的托管账号密码与实际账号密码不一致的情况,可以通过「密码纠正」进行…

如何养成爱自己的习惯:吸引世间美好,改变命运

在这个快节奏、高压力的时代,我们常常被各种事务所困扰,内心难以得到真正的宁静。然而,古老的智慧告诉我们,“静”是宇宙万物的根源,是生命恢复的根本。本文将探讨如何养成“静”的习惯,从而吸引世间美好&a…

Elasticsearch集群部署(上)

目录 前言 一. 环境准备 二. 实施部署 三. 安装配置head监控插件 (只在第一台es部署) 四. Kibana部署(当前还是在第一台es部署) 五. 安装配置Nginx反向代理 六. Logstash部署与测试 前言 1. Elasticsearch: 是…

邦芒支招:职场上令你升职加薪的四个能力

身在职场,我们都想升职加薪,获得成功,但是真正能达到的凤毛麟角,我常常告诉我的下属,想要升职你最少要必备的四个能力,小邦跟大家分享一些经验。 1、明确需要,制定目标,让领导知道你…

智慧公厕系统改变了人们对服务区公厕的看法

在过去,服务区公厕常常给人留下脏乱差的印象,成为人们在长途旅行途中不愿停留的地方。然而,随着智慧科技的不断发展和应用,智慧公厕系统的出现改变了人们对服务区公厕的看法,为公共卫生设施的提升注入了新的活力。 一、…

YOLOv8-对注意力机制模型进行通道剪枝-同时实现涨点和轻量化【附代码】

文章目录 前言视频效果文章概述必要环境一、训练自己的模型1、 训练命令2、 训练参数解析 二、模型剪枝1、 对训练好的模型将进行剪枝2、 剪枝代码详解1.解析命令行参数2. 定义剪枝函数3. 定义剪枝结构4. 更新注意力机制5. 保存更新后的模型6. 主函数 三、剪枝后的训练运行命令…

【日常记录】【JS】动态执行JS脚本

文章目录 1、第一种方式:eval2、第二种方式:setTimeout3、第三种方式:创建script 标签插入body4、第四种方式:创建 Function5、对比6、 参考链接 1、第一种方式:eval 语法 eval(string)参数 string:一个…

获取目标机器的ssh反弹权限后,如何通过一台公网服务器的服务 jar 包进行偷梁换柱植入目录进行钓鱼,从而获取目标使用人的终端设备权限和个人信息?

网络攻防实战中获取目标机器的ssh反弹权限后,如何通过一台公网服务器的服务 jar 包进行偷梁换柱植入目录进行钓鱼,从而获取目标使用人的终端设备权限和个人信息? 具体流程如下: 1)获取了目标用户经常访问的一台服务器信息,并能反弹shell回来进行远程ssh链接; 2)分析…

CenteOs7上安装Redis

CenteOs7上安装Redis 安装前先检查安装环境开始安装下载fedora的 epel 仓库安装redis数据库启动与检查状态命令启动redis停止redis查看redis运行状态查看redis进程 设置开机启动修改配置如果你觉得麻烦,使用一下配置录入以下内容 最后请放开端口允许连接 参考文章 安…

python获取字符编码

在Python中,您可以使用内置的ord()函数获取单个字符的Unicode编码,使用encode()方法获取字符串的字节编码。 获取单个字符的Unicode编码: char a unicode_code ord(char) print(unicode_code) # 输出字符的Unicode编码 获取字符串的字节编码: tex…

Linux指定文件权限的两种方式-符号与八进制数方式示例

一、指定文件权限可用的两种方式: 对于八进制数指定的方式,文件权限字符代表的有效位设为‘1’,即“rw-”、“rw-”、“r--”,以二进制表示为“110”、“110”、“100”,再转换为八进制6、6、4,所以777代表…

Android 11.0 SettingsProvider 源码分析

文章目录 一、SettingsProvider 的概述二、SettingsProvider 的启动流程三、对 SettingsProvider 进行操作方法四、客制化示例 一、SettingsProvider 的概述 SettingsProvider 是一个为 Android 系统设置提供数据共享的 Provider,它包含全局、安全和系统级别的用户…

kafka集群单独开启kerberos详细步骤

Kafka 2.8新特性 可以不使用zk。使用自我管理的仲裁机制。 增加describe集群的API。 支持SASL、SSL双向TLS身份认证。 根据IP,限制broker connection的创建速率。 JDK 1.8 zookeeper(可以使用DP的zk,但需指定zk的namespace,避免跟…

配置WLAN 示例

规格 仅AR129CVW、AR129CGVW-L、AR109W、AR109GW-L、AR161W、AR161EW、AR161FGW-L、AR161FW、AR169FVW、AR169JFVW-4B4S、AR169JFVW-2S、AR169EGW-L、AR169EW、AR169FGW-L、AR169W-P-M9、AR1220EVW和AR301W支持WLAN-FAT AP功能。 组网需求 如图1所示,企业使用WLAN…

【拓展】理解AppID、OpenID、UnionID

目录 历史背景AppIDAppSecretOpenIDUnionID三者区别使用方法AppIDOpenID/**UnionID**拓展 历史背景 基本概念介绍 | 微信开放文档 微信小程序:一文彻底搞懂openid和unionid-腾讯云开发者社区-腾讯云 用户进行小程序登陆时,需要获取用户信息,…

通用的ERP系统功能清单有哪些?

一、通用的ERP系统功能清单 通用的ERP(Enterprise Resource Planning,企业资源计划)系统是一套集成的业务应用程序,旨在帮助企业有效管理财务、销售、运营等关键业务流程。以下是一个清晰的ERP系统功能清单,涵盖了其主…