ScrollBar


ScrollBar

icon-note.gif 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

滚动条组件ScrollBar,用于配合可滚动组件使用,如List、Grid、Scroll。

权限列表

子组件

可以包含单个子组件。

接口

ScrollBar(value: ScrollBarOptions)

  • ScrollBarOptions的参数描述

    参数名 参数类型 必填 默认值 参数描述
    scroller Scroller - 可滚动组件的控制器。用于与可滚动组件进行绑定。
    direction ScrollBarDirection ScrollBarDirection.Vertical 滚动条的方向,控制可滚动组件对应方向的滚动。
    state BarState BarState.Auto 滚动条状态。

    icon-note.gif 说明: ScrollBar组件负责定义可滚动区域的行为样式,ScrollBar的子节点负责定义滚动条的行为样式。

    滚动条组件与可滚动组件通过Scroller进行绑定,且只有当两者方向相同时,才能联动,ScrollBar与可滚动组件仅支持一对一绑定。

  • ScrollBarDirection枚举说明

    名称 描述
    Vertical 纵向滚动条。
    Horizontal 横向滚动条。
  • BarState枚举说明

    名称 描述
    On 常驻显示。
    Off 不显示。
    Auto 按需显示(触摸时显示,无操作2s后消失)。

示例

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

  build() {
    Column() {
      Stack({ alignContent: Alignment.End }) {
        Scroll(this.scroller) {
          Flex({ direction: FlexDirection.Column }) {
            ForEach(this.arr, (item) => {
              Row() {
                Text(item.toString())
                  .width('90%')
                  .height(100)
                  .backgroundColor('#3366CC')
                  .borderRadius(15)
                  .fontSize(16)
                  .textAlign(TextAlign.Center)
                  .margin({ top: 5 })
              }
            }, item => item)
          }.margin({ left: 52 })
        }
        .scrollBar(BarState.Off)
        .scrollable(ScrollDirection.Vertical)
        ScrollBar({ scroller: this.scroller, direction: ScrollBarDirection.Vertical,state: BarState.Auto }) {
          Text()
            .width(30)
            .height(100)
            .borderRadius(10)
            .backgroundColor('#C0C0C0')
        }.width(30).backgroundColor('#ededed')
      }
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

zh-cn_image_0000001232775585