跳到主要内容

egret.ScrollView

   egret

   public class ScrollView

继承    egret.ScrollView → egret.DisplayObjectContaineregret.DisplayObjectegret.EventDispatcheregret.HashObject

ScrollView 是用于滑动的辅助类,将一个显示对象传入构造函数即可。可以在指定的尺寸范围内显示超过该范围的显示对象。并可以在此范围内随意拖动。

公共属性

属性
bounces : boolean
是否启用回弹,当启用回弹后,ScrollView中内容在到达边界后允许继续拖动,在用户拖动操作结束后,再反弹回边界位置
horizontalScrollPolicy : string
水平滚动条显示策略,on/off/auto
scrollBeginThreshold : number
开始滚动的阈值,当触摸点偏离初始触摸点的距离超过这个值时才会触发滚动
scrollLeft : number
获取或设置水平滚动位置,
scrollSpeed : number
滚动速度,这个值为需要的速度与默认速度的比值
scrollTop : number
获取或设置垂直滚动位置,
verticalScrollPolicy : string
垂直滚动条显示策略,on/off/auto

公共方法

方法
ScrollView(content:egret.DisplayObject)
创建一个 egret.ScrollView 对象
addChild(child:egret.DisplayObject):egret.DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中
addChildAt(child:egret.DisplayObject,index:number):egret.DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中
getMaxScrollLeft():number
距离左侧的最大值
getMaxScrollTop():number
距离上方最大值
removeChild(child:egret.DisplayObject):egret.DisplayObject
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例
removeChildAt(index:number):egret.DisplayObject
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject
removeContent():void
移除滚动的对象
setChildIndex(child:egret.DisplayObject,index:number):void
更改现有子项在显示对象容器中的位置
setContent(content:egret.DisplayObject):void
设置需要滚动的对象
setScrollLeft(scrollLeft:number,duration:number):void
设置滚动距离左侧的位置
setScrollPosition(top:number,left:number,isOffset:boolean):void
设置滚动位置
setScrollTop(scrollTop:number,duration:number):void
设置滚动距离上方的位置
swapChildren(child1:egret.DisplayObject,child2:egret.DisplayObject):void
交换两个指定子对象的 Z 轴顺序(从前到后顺序)
swapChildrenAt(index1:number,index2:number):void
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)

事件

Events
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.4
  • 运行平台:Web,Native

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

horizontalScrollPolicy

horizontalScrollPolicy : string

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

水平滚动条显示策略,on/off/auto。

scrollBeginThreshold

scrollBeginThreshold : number = 10

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

开始滚动的阈值,当触摸点偏离初始触摸点的距离超过这个值时才会触发滚动

scrollLeft

scrollLeft : number

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

获取或设置水平滚动位置,

scrollSpeed

scrollSpeed : number = 1

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

滚动速度,这个值为需要的速度与默认速度的比值。取值范围为 scrollSpeed > 0 赋值为 2 时,速度是默认速度的 2 倍

scrollTop

scrollTop : number

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

获取或设置垂直滚动位置,

verticalScrollPolicy

verticalScrollPolicy : string

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

垂直滚动条显示策略,on/off/auto。

方法详细信息

ScrollView()

public ScrollView(content:egret.DisplayObject)

创建一个 egret.ScrollView 对象

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数

addChild()

public addChild(child:egret.DisplayObject):egret.DisplayObject

将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。子项将被添加到该 DisplayObjectContainer 实例中其他所有子项的前(上)面。(要将某子项添加到特定索引位置,请使用 addChildAt() 方法。)

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • child:egret.DisplayObject - 要作为该 DisplayObjectContainer 实例的子项添加的 DisplayObject 实例。
  • 返回:在 child 参数中传递的 DisplayObject 实例。

addChildAt()

public addChildAt(child:egret.DisplayObject,index:number):egret.DisplayObject

将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。该子项将被添加到指定的索引位置。索引为 0 表示该DisplayObjectContainer 对象的显示列表的后(底)部。如果添加一个已将其它显示对象容器作为父项的子对象,则会从其它显示对象容器的子列表中删除该对象。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • child:egret.DisplayObject - 要作为该 DisplayObjectContainer 实例的子项添加的 DisplayObject 实例。
    • index:number - 添加该子项的索引位置。 如果指定当前占用的索引位置,则该位置以及所有更高位置上的子对象会在子级列表中上移一个位置。
  • 返回:在 child 参数中传递的 DisplayObject 实例。

getMaxScrollLeft()

public getMaxScrollLeft():number

距离左侧的最大值

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 返回:距离左侧最大值

getMaxScrollTop()

public getMaxScrollTop():number

距离上方最大值

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 返回:距离上方最大值

removeChild()

public removeChild(child:egret.DisplayObject):egret.DisplayObject

从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。将已删除子项的 parent 属性设置为 null;如果不存在对该子项的任何其它引用,则将该对象作为垃圾回收。DisplayObjectContainer 中该子项之上的任何显示对象的索引位置都减去 1。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:在 child 参数中传递的 DisplayObject 实例。

removeChildAt()

public removeChildAt(index:number):egret.DisplayObject

从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。将已删除子项的 parent 属性设置为 null;如果没有对该子项的任何其他引用,则将该对象作为垃圾回收。DisplayObjectContainer 中该子项之上的任何显示对象的索引位置都减去 1。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • index:number - 要删除的 DisplayObject 的子索引。
  • 返回:已删除的 DisplayObject 实例。

removeContent()

public removeContent():void

移除滚动的对象

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

setChildIndex()

public setChildIndex(child:egret.DisplayObject,index:number):void

更改现有子项在显示对象容器中的位置。这会影响子对象的分层。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • child:egret.DisplayObject - 要为其更改索引编号的 DisplayObject 子实例。
    • index:number - 生成的 child 显示对象的索引编号。当新的索引编号小于0或大于已有子元件数量时,新加入的DisplayObject对象将会放置于最上层。

setContent()

public setContent(content:egret.DisplayObject):void

设置需要滚动的对象

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数

setScrollLeft()

public setScrollLeft(scrollLeft:number,duration:number):void

设置滚动距离左侧的位置

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • scrollLeft:number - 距离左侧的位置
    • duration:number - 缓动时间,毫秒单位
  • 返回:获取水平滚动的tween

setScrollPosition()

public setScrollPosition(top:number,left:number,isOffset:boolean):void

设置滚动位置

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • top:number - 垂直滚动位置
    • left:number - 水平滚动位置
    • isOffset:boolean - 可选参数,默认是false,是否是滚动增加量,如 top=1 代表往上滚动1像素

setScrollTop()

public setScrollTop(scrollTop:number,duration:number):void

设置滚动距离上方的位置

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • scrollTop:number - 距离上方的位置
    • duration:number - 缓动时间,毫秒单位
  • 返回:获取垂直滚动的tween

swapChildren()

public swapChildren(child1:egret.DisplayObject,child2:egret.DisplayObject):void

交换两个指定子对象的 Z 轴顺序(从前到后顺序)。显示对象容器中所有其他子对象的索引位置保持不变。

swapChildrenAt()

public swapChildrenAt(index1:number,index2:number):void

在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。显示对象容器中所有其他子对象的索引位置保持不变。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • index1:number - 第一个子对象的索引位置。
    • index2:number - 第二个子对象的索引位置。

示例

/*
* 以下示例演示了 ScrollView 滚动组件的使用。
*/
class ScrollViewExample extends egret.DisplayObjectContainer {
public constructor() {
super();
this.startLoad();
}
private startLoad(): void {
//创建 ImageLoader 对象
const loader: egret.ImageLoader = new egret.ImageLoader();
//添加加载完成侦听
loader.addEventListener(egret.Event.COMPLETE, this.onLoadComplete, this);
const url: string = "resource/assets/egret_icon.png";
//开始加载
loader.load(url);
}
private onLoadComplete(event: egret.Event): void {
const loader: egret.ImageLoader = <egret.ImageLoader>event.target;
//获取加载到的纹理对象
const bitmapData: egret.BitmapData = loader.data;
//创建纹理对象
const texture = new egret.Texture();
texture.bitmapData = bitmapData;
//创建 Bitmap
const bitmap: egret.Bitmap = new egret.Bitmap(texture);
//创建 ScrollView
const scrollView: egret.ScrollView = new egret.ScrollView();
//设置滚动内容
scrollView.setContent(bitmap);
//设置滚动区域宽高
scrollView.width = 100;
scrollView.height = 100;
this.addChild(scrollView);
}
}