首页 > 其他分享 >关于Harmony OS中Scroll组件的使用方法

关于Harmony OS中Scroll组件的使用方法

时间:2024-12-27 10:01:23浏览次数:6  
标签:容器 滚动 height 内容 Harmony 组件 OS Scroll

#创作灵感#

在使用HarmonyOS进行开发时,常常会用到Scroll组件,这里对之前自己开发时使用Scroll组件的一些心得和建议进行一些汇总

一、基础使用方法

首先,对Scroll的一些基础使用进行举出

Scroll

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

说明:

  • 该组件从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
  • 该组件嵌套List子组件滚动时,若List不设置宽高,则默认全部加载,在对性能有要求的场景下建议指定List的宽高。
  • 该组件滚动的前提是主轴方向大小小于内容大小。
  • 该组件回弹的前提是要有滚动。内容小于一屏时,没有回弹效果。

 对于Scroll组件,只支持单个子组件,因此基本的形式就是这样:

Scroll(){
    Column(){
        // 内容
    }
}

接下来对一些常用的方法进行列举:

Scroll(){
    // 只支持一个子组件
    Column(){
        // 内容放在内部
        // 尺寸超过Scroll即可滚动    
    }
}
    .scrollable(ScrollDirection.Horizontal | Vertical(横向 | 纵向))
    .scrollBar(BarState.On | off | auto (始终显示 | 始终隐藏 | 滑动显示))
    .scrollBarColor(滚动条颜色)
    .scrollBarWidth(滚动条颜色)
    .edgeEffect(EdgeEffect.None | Spring | Fade (无 | 弹簧 | 阴影))
    .onScroll((x,y) => {
        // 滚动时持续触发,可以结合currentOffset方法获取滚动距离 
    })

Scroller

此外,Scroll组件提供了一个控制器,可以将此组件绑定至容器组件,然后通过它控制容器组件的滚动

使用方式:

// 导入对象

scroller: Scroller = new Scroller()

它也提供了一些方法,可以在openHarmony官网查看 Scroll

二、一些使用心得

虽然说,官方原本提供的Scroll组件已经很方便了,但是可能因为我自己也是新手比较菜,使用的时候常常遇见一些问题,这里将这段时间的使用心得进行列举

1、Scroll容器中的高度问题

        对于Scroll容器而言,我们经常遇见需要指定滚动容器高度的情况,这种情况下,我们可以直接给Scroll容器指定height属性

Scroll(){
    column(){
        // 内容
    }
}.height('100%')

        这里需要注意的是,不推荐给内部子组件指定高度,可能会发生难以预料的问题

Scroll(){
    column(){
        // 内容
    }.height('100%')
}

// 不要这样做

2、Scroll容器中的对齐问题

        对于Scroll容器而言,如果指定了容器高度,则会将内部内容默认上下居中对齐,如果我们需要调整它的对齐方式,可以对Scroll容器指定align()属性

Scroll(){
    column(){
        // 内容
    }
}.height('100%')
.align(Alignment.Top)

以上,便是对Scroll容器的介绍了,本文基于Harmony OS NEXT进行编写。

标签:容器,滚动,height,内容,Harmony,组件,OS,Scroll
From: https://blog.csdn.net/Lin_Zhong_/article/details/144758941

相关文章

  • VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 集成 Marvell AQC 网卡驱动定制版 (集
    VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS集成MarvellAQC网卡驱动定制版(集成驱动版)VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS集成网卡驱动和NVMe驱动(集成驱动版)发布ESXi8.0U3c集成驱动版,在个人电脑上运行企业级工作负载请访问原文链接:https://sysin.......
  • 传输几万字的文字到后端时,用get还是post?为什么?
    在传输几万字的文字到后端时,建议使用POST请求。以下是从多个方面对这一建议的详细解释:数据大小限制:GET请求将数据附加在URL之后,因此受到URL长度的限制。大多数浏览器和服务器对URL长度有限制,通常不超过2048个字符。虽然这个限制在不同的浏览器和服务器之间可能有所不同,但几万......
  • oscp备考,oscp系列——FristiLeaks_1.3靶场
    oscp备考,oscp系列——FristiLeaks_1.3靶场FristiLeaks_1.3难度为简单靶场考察信息收集,有点ctf的味道,通过提示最后发现upload上传地点使用Apache解析漏洞,绕过白名单限制最后牛脏提权下载地址:https://pan.quark.cn/s/26e1cb6958fcnmap主机发现└─#nmap-sn192.168.......
  • 一维数组、多维数组、Array(deepToString sort fill binarySearch)方法2024122620241
    数组20241226[数组详情](深入理解Java数组-静默虚空-博客园)什么是数组:数组是相同类型数据的有序集合注意:必须是相同数据数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素。每个数组元素可以通过一个下标来访问......
  • 如何处理云服务器遭遇DDoS攻击的问题?
    云服务器遭遇DDoS攻击时,可以采取以下措施:确认攻击情况:检查服务器监控数据,确认是否确实遭受了DDoS攻击。通常,阿里云会提供详细的流量监控信息。启用高防服务:购买并启用高防服务可以有效抵御DDoS攻击。您可以访问[网址]了解和购买高防服务。高防服务能够帮助您过滤恶意......
  • 执行yum命令时报 One of the configured repositories failed
    报错如下:Oneoftheconfiguredrepositoriesfailed(CentOS-7-Base),andyumdoesn'thaveenoughcacheddatatocontinue.Atthispointtheonlysafethingyumcandoisfail.Thereareafewwaystowork"fix"this:1.Contacttheup......
  • 启动应用程序出现wtdhost.dll找不到问题
    在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包文件不完整造成,原因可能是某些系统防护软件将重要的DLL文件识别为可疑,阻止并放入了隔离单里,还有一些常见的DLL文件缺少是因为系统没有安装齐全的微软运行库,还有部分情况是因为......
  • CentOS8安装
    安装方法跟Centos7无差异。一、下载安装包镜像 地址:https://mirrors.aliyun.com/centos-vault/centos/8.2.2004/isos/x86_64/?spm=a2c6h.25603864.0.0.1f647af6cvFFgO  二、安装操作系统安装界面如下, 三、后续工作 a、配置ip地址[root@localhost~]#cat/etc/sys......
  • Active Pose Relocalization for Intelligent Substation Inspection Robot
    (未完成:加思维导图、段落分析、pipeline)ActivePoseRelocalizationforIntelligentSubstationInspectionRobot智能变电站巡检机器人主动姿态重定位摘要:变电站中广泛应用的智能巡检机器人在对电气设备进行日常巡检时,要求采集与标定图像一致的巡检图像。然而,由于导航......
  • AUTOSAR从入门到精通专栏总目录
    AUTOSAR通过分层、模块化和封装的特性,革命性地改变了汽车电子软件开发。它简化了软硬件接口,提高了软件复用性,降低了开发成本和周期。随着AUTOSAR在汽车电子系统开发领域的广泛应用,对其深入理解和熟练掌握已成为汽车电子软件开发工程师的必备技能。尽管AUTOSAR带来了诸......