封装一个选项卡的UI,用来应付游戏中各种需要选项卡的界面。

例如背包,背包界面的选项卡可以切换装备、物品、符文、宝箱。

下图方法的实现参考:EUI ViewStack实现选项卡组件

假如在主页HomeScene中有一个选项卡UI,如下图:

TabView简单实现代码

/**
* 选项卡UI
* @author chenkai 2018/8/3
*/
class TabView{
private radioGroup:eui.Group; //单选按钮
private viewStack:eui.ViewStack; //层叠容器 public constructor() { } public init(radioGroup:eui.Group, viewStack:eui.ViewStack){
//保存
this.radioGroup = radioGroup;
this.viewStack = viewStack; //判断是否存在按钮
let radioBtn:eui.RadioButton = radioGroup.getChildAt(0) as eui.RadioButton;
if(radioBtn){
//给radioBtn赋值
let len = radioGroup.numChildren;
for(let i=0;i<len;i++){
(radioGroup.getChildAt(i) as eui.RadioButton).value = i;
}
//监听radioBtn切换
radioBtn.group.addEventListener(eui.UIEvent.CHANGE, this.onChange ,this);
//默认选择第一项
radioBtn.selected = true;
}
} //radioBtn切换时,切换viewStack
private onChange(e:eui.UIEvent){
let radioGroup:eui.RadioButtonGroup = e.target;
this.viewStack.selectedIndex = radioGroup.selectedValue;
}
}

  

在HomeScene里,创建TabView。

class HomeScene extends eui.Component{
private radioGroup:eui.Group;
private viewStack:eui.ViewStack; private tabView:TabView; public constructor() {
super();
this.skinName = "HomeSceneSkin";
} protected childrenCreated(){
         //创建TabView
this.tabView = new TabView();
//将HomeScene里的单选按钮和层叠容器,赋值给TabView进行初始化
this.tabView.init(this.radioGroup, this.viewStack);
} }

  

选项卡完成

最新文章

  1. Fis3前端工程化之项目实战
  2. MyEclipse 2014(激活)
  3. Java Swing
  4. git使用学习
  5. 【译】安装Sonar要求
  6. Linux下的Libsvm使用历程录
  7. JS操作Radio与Select
  8. RTT操作系统
  9. xps13 关机充电 右边的usb口
  10. 往github上传demo
  11. 如何搭建一个angularJS应用
  12. leetcod Pow(x, n)
  13. 从一道例题谈Arrays.toString()与其他String的转换方法
  14. Kaggle实战之二分类问题
  15. [AHOI2012]铁盘整理
  16. C# 曲线上的点(二) 获取距离最近的点
  17. lr_场景设计之组场景、nmon监控
  18. thymleaf模板截取日期的年月日,去掉时分秒
  19. JAVA:测试java虚拟机支持的最大内存 Xmx 值?Tomcat 内存溢出?(转)
  20. npm 安装React Devtools调试工具

热门文章

  1. SharePoint PowerShell部署开发好的WebPart到服务器上
  2. 装饰模式(Decorator Pattern)--------结构型模式
  3. 到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf
  4. 如何在IntelliJ IDEA中快速配置Tomcat
  5. ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set
  6. VC获得本机网络连接状态
  7. 详解MathType中如何更改公式颜色
  8. VirtualBox导入已存在的VHD遇到的uuid冲突问题
  9. LINUX下安装软件方法命令方法
  10. [原]unity3D bug记录