跳到主要内容

eui.Scroller

   eui

   public class Scroller

继承    eui.Scroller → eui.Componentegret.DisplayObjectContaineregret.DisplayObjectegret.EventDispatcheregret.HashObject

Scroller 组件显示一个称为视域的单个可滚动组件,以及水平滚动条和垂直滚动条。该视域必须实现 IViewport 接口。Group 组件实现 IViewport 接口,且可以用作 Scroller 控件的子代,如下例所示:

      <s:Scroller width="100" height="100">

          <s:Group>

              <s:Image width="300" height="400" source="assets/logo.jpg"/>

          </s:Group>

      </s:Scroller>

Image 控件的大小比其父 Group 容器设置得大。默认情况下,子代超过父容器的边界。Scroller 会指定将子代剪切到边界并显示滚动条,而不是让子代超过父容器的边界。

公共属性

属性
bounces : boolean
是否启用回弹,当启用回弹后,ScrollView中内容在到达边界后允许继续拖动,在用户拖动操作结束后,再反弹回边界位置
horizontalScrollBar : eui.HScrollBar
水平滚动条
scrollPolicyH : string
指示在哪些条件下可以滚动并且显示水平滑动条
scrollPolicyV : string
指示在哪些条件可以滚动并且显示垂直滑动条
scrollThreshold : number
[静态]开始触发滚动的阈值(以像素为单位),当触摸点偏离初始触摸点的距离超过这个值时才会触发滚动
throwSpeed : number
调节滑动结束时滚出的速度
verticalScrollBar : eui.VScrollBar
垂直滚动条
viewport : eui.IViewport
要滚动的视域组件

公共方法

方法
Scroller()
构造函数
stopAnimation():void
停止滚动的动画

事件

Events
eui.UIEvent.CHANGE_START
滚动位置改变开始
eui.UIEvent.CHANGE_END
滚动位置改变结束
egret.Event.CHANGE
滚动位置改变的时候
egret.TouchEvent.TOUCH_CANCEL
取消触摸事件
egret.Event.COMPLETE
当设置skinName为外部exml文件路径时,加载并完成EXML解析后调度。
egret.Event.RESIZE
当UI组件的尺寸发生改变时调度
eui.UIEvent.MOVE
当UI组件在父级容器中的位置发生改变时调度
eui.UIEvent.CREATION_COMPLETE
当UI组件第一次被添加到舞台并完成初始化后调度
egret.Event.ADDED
将显示对象添加到显示列表中时调度。
egret.Event.ADDED_TO_STAGE
在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。
egret.Event.REMOVED
将要从显示列表中删除显示对象时调度。
egret.Event.REMOVED_FROM_STAGE
在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。
egret.Event.ENTER_FRAME
[广播事件] 播放头进入新帧时调度。
egret.Event.RENDER
[广播事件] 将要更新和呈现显示列表时调度。
egret.TouchEvent.TOUCH_MOVE
当用户触碰设备时进行调度,而且会连续调度,直到接触点被删除。
egret.TouchEvent.TOUCH_BEGIN
当用户第一次触摸启用触摸的设备时(例如,用手指触摸手机屏幕)调度。
egret.TouchEvent.TOUCH_END
当用户移除与启用触摸的设备的接触时(例如,将手指从屏幕上抬起)调度。
egret.TouchEvent.TOUCH_TAP
当用户在启用触摸设备上的已启动接触的同一 DisplayObject 实例上抬起接触点时(例如,手机点击屏幕后抬起)调度。
egret.TouchEvent.TOUCH_RELEASE_OUTSIDE
当用户在启用触摸设备上的已启动接触的不同 DisplayObject 实例上抬起接触点时(例如,按住屏幕上的某个对象,然后从它上面挪开后再松开手指)调度。

属性详细信息

bounces

bounces : boolean = true

  • 支持版本:Egret 2.5.6
  • 运行平台:Web,Native

是否启用回弹,当启用回弹后,ScrollView中内容在到达边界后允许继续拖动,在用户拖动操作结束后,再反弹回边界位置

horizontalScrollBar

horizontalScrollBar : eui.HScrollBar = null

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

水平滚动条

scrollPolicyH

scrollPolicyH : string = ScrollPolicy.AUTO

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

指示在哪些条件下可以滚动并且显示水平滑动条。ScrollPolicy.ON - 可以滚动,滚动时显示滚动条。ScrollPolicy.OFF - 不可以滚动并且不显示滚动条。ScrollPolicy.AUTO - 当视域的 contentWidth 大于其自身的宽度时可以滚动,滚动时显示滚动条。

scrollPolicyV

scrollPolicyV : string = ScrollPolicy.AUTO

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

指示在哪些条件可以滚动并且显示垂直滑动条。ScrollPolicy.ON - 可以滚动,滚动时显示滚动条。ScrollPolicy.OFF - 不可以滚动并且不显示滚动条。ScrollPolicy.AUTO - 当视域的 contentHeight 大于其自身的高度时可以滚动,滚动时显示滚动条。

scrollThreshold

scrollThreshold : number = 5

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

开始触发滚动的阈值(以像素为单位),当触摸点偏离初始触摸点的距离超过这个值时才会触发滚动。

throwSpeed

throwSpeed : number

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

调节滑动结束时滚出的速度。等于0时,没有滚动动画

verticalScrollBar

verticalScrollBar : eui.VScrollBar = null

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

垂直滚动条

viewport

viewport : eui.IViewport

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

要滚动的视域组件。

方法详细信息

Scroller()

public Scroller()

构造函数。

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

stopAnimation()

public stopAnimation():void

停止滚动的动画

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

示例

**

* 下面的例子显示了一个垂直带滚动条的 List。

*/

class ScrollerExample extends egret.Sprite {

public constructor() {

super();

var exml =

`<e:Group xmlns:e="http:/ns.egret.com/eui">

<e:Image width="200" height="400" source="resource/selected.png" scale9Grid="1,1,4,4"/>

<e:Scroller >

<e:Skin>

<e:HScrollBar id="horizontalScrollBar" width="100%" height="30" bottom="0">

<e:Skin>

<e:Image width="100%" height="100%" source="resource/track.png" scale9Grid="1,1,4,4"/>

<e:Image id="thumb" width="30" height="30" source="resource/thumb.png" scale9Grid="1,1,4,4"/>

</e:Skin>

</e:HScrollBar>

<e:VScrollBar id="verticalScrollBar" width="30" height="100%" right="0">

<e:Skin>

<e:Image width="100%" height="100%" source="resource/track.png" scale9Grid="1,1,4,4"/>

<e:Image id="thumb" width="30" height="30" source="resource/thumb.png" scale9Grid="1,1,4,4"/>

</e:Skin>

</e:VScrollBar>

</e:Skin>

<e:List id="list" width="200" height="400">

<e:layout>

<e:VerticalLayout gap="20"/>

</e:layout>

<e:itemRendererSkinName>

<e:Skin states="up,down,disabled" height="50">

<e:Label text="{data.label}" textColor="0" horizontalCenter="0" verticalCenter="0"/>

</e:Skin>

</e:itemRendererSkinName>

<e:ArrayCollection>

<e:Array>

<e:Object label="Text1"/>

<e:Object label="Text2"/>

<e:Object label="Text3"/>

<e:Object label="Text4"/>

<e:Object label="Text5"/>

<e:Object label="Text6"/>

<e:Object label="Text7"/>

<e:Object label="Text8"/>

<e:Object label="Text9"/>

<e:Object label="Text10"/>

</e:Array>

</e:ArrayCollection>

</e:List>

</e:Scroller>

</e:Group>`;

var clazz = EXML.parse(exml);

var scroller = new clazz();

this.addChild(scroller);

}

}