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

    浏览量

    7518
  • 组件
    +关注

    关注

    1

    文章

    339

    浏览量

    17598
  • HarmonyOS
    +关注

    关注

    79

    文章

    1864

    浏览量

    29274
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    HarmonyOS开发技术全面分析

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

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

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

    HarmonyOS属性动画开发示例(ArkTS)

    、backgroundColor、opacity、scale、rotate、translate 等。 Slider:滑动组件,通常用于快速调节设置值,如音量调节、亮度调节等应用场景。 完整示例 gitee源码地址
    发表于 11-23 15:31

    HarmonyOS鸿蒙原生应用开发设计- 服务组件

    HarmonyOS设计文档中,为大家提供了一些已经设计好的原生服务组件库,开发者可以根据需要直接引用。 开发者直接使用官方提供的服务组件库样
    发表于 10-24 16:12

    HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider

    ) } }.width(\'100%\') } } 五、效果样式 六、场景 适合卡片上直接操作提示滑动组件,通常用于快速调节设置值,如音量调节、亮度调节等应用场景提供。 本文根据HarmonyOS官方文档整理。
    发表于 10-18 15:39

    HarmonyOS元服务开发实践:桌面卡片字典

    本文转载分享自华为开发者论坛《​HarmonyOS元服务开发实践:桌面卡片字典​》,作者:蛟龙腾飞 一、项目说明 1.DEMO创意为卡片字典。 2.不同卡片显示不同内容:微卡、小卡、中卡、大卡,根据
    发表于 08-24 16:55

    HarmonyOS/OpenHarmony应用开发-ArkTSAPI组件总体分类与说明(下)

    。 Panel 可滑动面板,提供一种轻量的内容展示窗口,方便在不同尺寸中切换。 Refresh 可以进行页面下拉操作并显示刷新动效的容器组件。 Menu 以垂直列表形式显示的菜单,优先用于PC端的菜单开发
    发表于 08-17 09:56

    HarmonyOS/OpenHarmony应用开发-ArkTSAPI组件总体分类与说明(上)

    用。 Grid 网格容器组件,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。 GridItem 网格容器中单项内容容器。 滚动与滑动 Scroll 可滚动的容器组件
    发表于 08-15 11:14

    HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

    多平台应用开发的维护效率。 同时,为了帮助开发者打造精致的HarmonyOS应用,华为提供了符合HarmonyOS设计规范的全量控件,且这些组件
    发表于 08-14 15:08

    HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

    2023年8月6日华为开发者大会2023(HDC.Together)圆满收官,伴随着HarmonyOS 4的发布,华为向开发者发布了汇聚所有最新开发能力的
    的头像 发表于 08-11 12:10 579次阅读

    HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

    2023年8月4日的华为开发者大会2023(HDC.Together)拉开帷幕,伴随着HarmonyOS 4的发布,华为向开发者发布了汇聚所有最新开发能力的
    的头像 发表于 08-09 17:16 789次阅读

    【直播预告】HarmonyOS极客松赋能直播第四期:HarmonyOS开发经验分享

    Release新版发布 HarmonyOS Connect认证测试 原文标题:【直播预告】HarmonyOS极客松赋能直播第四期:HarmonyOS开发经验分享 文章出处:【微信公众
    的头像 发表于 07-03 09:05 343次阅读
    【直播预告】<b class='flag-5'>HarmonyOS</b>极客松赋能直播第四期:<b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>经验分享

    HarmonyOS开发:舒尔特方格游戏

    为丰富 HarmonyOS 对云端开发的支持、实现 HarmonyOS 生态端云联动,DevEco Studio 推出了云开发功能,开发者在
    的头像 发表于 06-19 15:05 508次阅读
    <b class='flag-5'>HarmonyOS</b>云<b class='flag-5'>开发</b>:舒尔特方格游戏