EUI ViewStack实现选项卡组件 (封装了一个UI类)
2024-08-28 06:02:15
封装一个选项卡的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);
} }
选项卡完成
最新文章
- Fis3前端工程化之项目实战
- MyEclipse 2014(激活)
- Java Swing
- git使用学习
- 【译】安装Sonar要求
- Linux下的Libsvm使用历程录
- JS操作Radio与Select
- RTT操作系统
- xps13 关机充电 右边的usb口
- 往github上传demo
- 如何搭建一个angularJS应用
- leetcod Pow(x, n)
- 从一道例题谈Arrays.toString()与其他String的转换方法
- Kaggle实战之二分类问题
- [AHOI2012]铁盘整理
- C# 曲线上的点(二) 获取距离最近的点
- lr_场景设计之组场景、nmon监控
- thymleaf模板截取日期的年月日,去掉时分秒
- JAVA:测试java虚拟机支持的最大内存 Xmx 值?Tomcat 内存溢出?(转)
- npm 安装React Devtools调试工具
热门文章
- SharePoint PowerShell部署开发好的WebPart到服务器上
- 装饰模式(Decorator Pattern)--------结构型模式
- 到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf
- 如何在IntelliJ IDEA中快速配置Tomcat
- ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set
- VC获得本机网络连接状态
- 详解MathType中如何更改公式颜色
- VirtualBox导入已存在的VHD遇到的uuid冲突问题
- LINUX下安装软件方法命令方法
- [原]unity3D bug记录