0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HarmonyOS应用开发-ETSsrcoll滑动组件

鸿蒙时代 来源:鸿蒙时代 作者:鸿蒙时代 2022-03-16 11:42 次阅读
HarmonyOS应用开发-ETSsrcoll滑动组件

说明:
该组件从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

可滚动的容器组件,当子组件的布局尺寸超过父组件的视口时,内容可以滚动。
接口
Scroll(scroller?: Scroller)

属性

HarmonyOS应用开发-ETSsrcoll滑动组件

Scroller
可滚动容器组件的控制器,可以将此组件绑定至容器组件,然后通过它控制容器组件的滚动,目前支持绑定到List和Scroll组件上。

导入对象
.scroller: Scroller = new Scroller()

scroller.scrollTo
scrollTo(value: { xOffset: number | string, yOffset: number | string, animation?: { duration: number, curve: Curve } }): void
滑动到指定位置。

scroller.scrollEdge
scrollEdge(value: Edge): void
滚动到容器边缘。

scroller.scrollPage
scrollPage(value: { next: boolean}): void
滚动到下一页或者上一页。

scroller.currentOffset
scroller.currentOffset(): Object
返回当前的滚动偏移量。

scroller.scrollToIndex
scroller.scrollToIndex(value: number): void
滑动到指定Index。

事件

HarmonyOS应用开发-ETSsrcoll滑动组件

示例:

@Entry
@Component
struct ScrollExample {
  scroller: Scroller = new Scroller()
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  build() {
    Stack({ alignContent: Alignment.TopStart }) {
      Scroll(this.scroller) {
        Column() {
          ForEach(this.arr, (item) => {
            Text(item.toString())
              .width('90%').height(150).backgroundColor(0xFFFFFF)
              .borderRadius(15).fontSize(16).textAlign(TextAlign.Center)
              .margin({ top: 10 })
          }, item => item)
        }.width('100%')
      }
      .scrollable(ScrollDirection.Vertical).scrollBar(BarState.On)
      .scrollBarColor(Color.Gray).scrollBarWidth(30)
      .onScroll((xOffset: number, yOffset: number) => {
        console.info(xOffset + ' ' + yOffset)
      })
      .onScrollEdge((side: Edge) => {
        console.info('To the edge')
      })
      .onScrollEnd(() => {
        console.info('Scroll Stop')
      })

      Button('滑动')
        .onClick(() => { // 点击后下滑100.0距离
          this.scroller.scrollTo({ xOffset: 0, yOffset: this.scroller.currentOffset().yOffset + 100 })
        })
        .margin({ top: 10, left: 20 })
      Button('返回顶部')
        .onClick(() => { // 点击后回到顶部
          this.scroller.scrollEdge(Edge.Top)
        })
        .margin({ top: 60, left: 20 })
      Button('下一页')
        .onClick(() => { // 点击后下滑到底部
          this.scroller.scrollPage({ next: true })
        })
        .margin({ top: 110, left: 20 })
    }.width('100%').height('100%').backgroundColor(0xDCDCDC)
  }
}



审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Version
    +关注

    关注

    0

    文章

    32

    浏览量

    7541
  • 组件
    +关注

    关注

    1

    文章

    505

    浏览量

    17805
  • HarmonyOS
    +关注

    关注

    79

    文章

    1967

    浏览量

    30022
收藏 人收藏

    评论

    相关推荐

    鸿蒙ArkTS声明式组件:TextPicker

    滑动选择文本内容的组件
    的头像 发表于 07-03 15:07 376次阅读
    鸿蒙ArkTS声明式<b class='flag-5'>组件</b>:TextPicker

    HarmonyOS开发案例:【使用List组件实现商品列表】

    OpenHarmony ArkTS提供了丰富的接口和组件开发者可以根据实际场景和开发需求,选用不同的组件和接口。
    的头像 发表于 05-10 16:41 1267次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>案例:【使用List<b class='flag-5'>组件</b>实现商品列表】

    HarmonyOS开发案例:【基础组件Slider的使用】

    学习如何使用声明式UI编程框架的基础组件。本篇Codelab将会使用Image组件、Slider组件、Text组件共同实现一个可调节的风车动画
    的头像 发表于 05-10 16:01 646次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>案例:【基础<b class='flag-5'>组件</b>Slider的使用】

    HarmonyOS开发案例:【Web组件实现抽奖】

    基于ArkTS的声明式开发范式的样例,主要介绍了Web组件如何加载本地和云端H5小程序。
    的头像 发表于 05-09 18:31 1326次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>案例:【Web<b class='flag-5'>组件</b>实现抽奖】

    HarmonyOS开发案例:【常用组件与布局】

    HarmonyOS ArkUI提供了丰富多样的UI组件,您可以使用这些组件轻松地编写出更加丰富、漂亮的界面。
    的头像 发表于 05-09 18:20 1172次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>案例:【常用<b class='flag-5'>组件</b>与布局】

    OpenHarmony实战开发-如何实现组件动画。

    ArkUI为组件提供了通用的属性动画和转场动画能力的同时,还为一些组件提供了默认的动画效果。例如,List的滑动动效,Button的点击动效,是组件自带的默认动画效果。在
    的头像 发表于 04-28 15:49 559次阅读
    OpenHarmony实战<b class='flag-5'>开发</b>-如何实现<b class='flag-5'>组件</b>动画。

    HarmonyOS开发案例:【Swiper的实战】

    主要介绍了滑动容器组件Swiper的几种常见的应用场景,包括顶部导航、轮播图以及视频滑动播放。
    的头像 发表于 04-28 14:41 1176次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>案例:【Swiper的实战】

    HarmonyOS开发案例:【image、image-animator组件

    OpenHarmony提供了常用的图片、图片帧动画播放器组件开发者可以根据实际场景和开发需求,实现不同的界面交互效果,包括:点击阴影效果、点击切换状态、点击动画效果、点击切换动效。
    的头像 发表于 04-26 17:32 1407次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>案例:【image、image-animator<b class='flag-5'>组件</b>】

    HarmonyOS开发案例:【 slider组件的使用】

    主要介绍slider滑动组件的使用。如图所示拖动对应滑动条调节风车的旋转速度以及缩放比例。
    的头像 发表于 04-25 22:02 885次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>案例:【 slider<b class='flag-5'>组件</b>的使用】

    HarmonyOS开发案例:【 switch、chart组件的使用】

    基于switch组件和chart组件,实现线形图、占比图、柱状图,并通过switch切换chart组件数据的动静态显示。
    的头像 发表于 04-25 20:58 566次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>案例:【 switch、chart<b class='flag-5'>组件</b>的使用】

    鸿蒙OS开发实例:【组件化模式】

    组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,针对Android端的组件化;与Android端的组件化相比,
    的头像 发表于 04-07 17:44 593次阅读
    鸿蒙OS<b class='flag-5'>开发</b>实例:【<b class='flag-5'>组件</b>化模式】

    HarmonyOS开发技术全面分析

    难度和成本。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。 ⚫ 对设备开发者而言, HarmonyOS 采用了组件化的设计方案,
    发表于 02-21 16:31

    鸿蒙开发实战-(ArkUI)List组件和Grid组件的使用

    一系列相同宽度的列表项,连续、多行呈现同类数据,例如图片和文本。常见的列表有线性列表(List列表)和网格布局(Grid列表): 为了帮助开发者构建包含列表的应用,ArkUI提供了List组件和Grid
    发表于 01-18 20:18

    鸿蒙开发-ArkUI 组件基础

    1 组件介绍 组件(Component)是界面搭建与显示的最小单位,HarmonyOS ArkUI声明式开发范式为开发者提供了丰富多样的UI
    发表于 01-17 19:31

    滑动变阻器的作用

    滑动变阻器的作用  滑动变阻器是一种能够改变电路中电阻值的组件,通过滑动滑片或旋转滑轮来调整电阻值。它在电子电路设计和实际应用中起着至关重要的作用。本文将详细介绍
    的头像 发表于 12-08 11:35 3729次阅读