跳到主要内容

eui.ViewStack

   eui

   public class ViewStack

继承    eui.ViewStack → eui.Groupegret.DisplayObjectContaineregret.DisplayObjectegret.EventDispatcheregret.HashObject

ViewStack 导航器容器由一组彼此上下堆叠的子容器组成,其中一次只可以显示一个子容器。选择另一个子容器后,它将显示在原来子容器的位置处,所以看起来好像此子容器替换了原来的子容器。但是,原来的子容器仍然存在,只不过它现在处于不可见状态。

公共属性

属性
layout : eui.LayoutBase
此容器的 layout 对象
length : number
子项数量
selectedChild : egret.DisplayObject
对当前可见子容器的引用
selectedIndex : number
当前可见子容器的从零开始的索引

公共方法

方法
ViewStack()
构造函数
getItemAt(index:number):any
获取指定索引处的项目
getItemIndex(item:any):number
如果项目位于列表中,返回该项目的索引

事件

Events
eui.CollectionEvent.COLLECTION_CHANGE
以某种方式更新 ICollection 后分派。
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 实例上抬起接触点时(例如,按住屏幕上的某个对象,然后从它上面挪开后再松开手指)调度。

属性详细信息

layout

layout : eui.LayoutBase = eui.BasicLayout

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

此容器的 layout 对象。此对象负责容器中可视元素的测量和布局。

length

length : number

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

子项数量

selectedChild

selectedChild : egret.DisplayObject

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

对当前可见子容器的引用。默认设置为对第一个子容器的引用。如果没有子项,则此属性为 null

selectedIndex

selectedIndex : number

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

当前可见子容器的从零开始的索引。子索引的范围是 0、1、2、...、n - 1,其中 n 是子项的数目。默认值是 0,对应于第一个子项。如果不存在子容器,则此属性的值为 -1。

方法详细信息

ViewStack()

public ViewStack()

构造函数。

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

getItemAt()

public getItemAt(index:number):any

获取指定索引处的项目。

  • 支持版本:eui 1.0

  • 运行平台:Web,Native

  • 参数

    • index:number - 要得到的项的指定位置。
  • 返回:在索引位置的项,如果没有该项则返回null。

getItemIndex()

public getItemIndex(item:any):number

如果项目位于列表中,返回该项目的索引。否则返回-1。

  • 支持版本:eui 1.0

  • 运行平台:Web,Native

  • 参数

    • item:any - 要查找的项。
  • 返回:项的索引,如果该项没有在列表中将返回-1.

示例

class  ViewStackExample  extends  egret.Sprite  {

public constructor() {

super();

var exml =

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

<e:TabBar dataProvider="{viewStack}">

<e:layout>

<e:HorizontalLayout gap="20"/>

</e:layout>

<e:itemRendererSkinName>

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

<e:Label text="{data}" textColor.down="0xFFFFFF" textColor.up="0x666666" horizontalCenter="0" verticalCenter="0"/>

</e:Skin>

</e:itemRendererSkinName>

</e:TabBar>

<e:ViewStack y="50" id="viewStack">

<e:Group name="Page1">

<e:Panel width="400" height="300" title="title panel" xmlns:e="http:/ns.egret.com/eui" y="50">

<e:Skin>

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

<e:Group id="moveArea" width="100%" height="40">

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

<e:Label id="titleDisplay" text="标题" textColor="0" horizontalCenter="0" verticalCenter="0"/>

</e:Group>

<e:Button id="closeButton" right="-15" y="-15">

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

<e:Image width="50" height="50" source="resource/close.png" scaleX.up="1" scaleX.down="0.95" scaleY.up="1" scaleY.down="0.95"/>

</e:Skin>

</e:Button>

</e:Skin>

</e:Panel>

</e:Group>

<e:Group name="Page2">

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

<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:Group>

</e:ViewStack>

</e:Group>`;

var clazz = EXML.parse(exml);

var group = new clazz();

this.addChild(group);

}

}