EUI ViewStack实现选项卡组件 (封装了一个UI类)
封装一个选项卡的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);
}
}
选项卡完成

EUI ViewStack实现选项卡组件 (封装了一个UI类)的更多相关文章
- EUI ViewStack实现选项卡组件
一 TabBar+ViewStack实现 这个教程确实没看懂...贼麻烦... 二 RadioButton+ViewStack 在exml中拖动组件RadioButton和ViewStack 设置e ...
- SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类
在实际业务场景中,当前台通过 url 向后台传送多个参数时,可以将参数封装成一个bean类,在bean类中对各个参数进行非空,默认值等的设置. 前台 url ,想后台传送两个参数,userName 和 ...
- 个人封装的一个Camera类
好久不写博客了,代码写了不少,但大多数都是拿来主义,要不是网上,要不就是自己曾经的代码拼装. 新工作是搞Android开发的,近期任务要求我封装一个Carmera类,自己也认为还是封装以后方便使用,弄 ...
- 将CRUD封装到一个工具类中
package org.zln.hibernate.utils; import org.hibernate.Session; import org.hibernate.SessionFactory; ...
- Directx11学习笔记【二十一】 封装键盘鼠标响应类
原文:Directx11学习笔记[二十一] 封装键盘鼠标响应类 摘要: 本文由zhangbaochong原创,转载请注明出处:http://www.cnblogs.com/zhangbaochong/ ...
- 自己封装的一个LoadRes组件
这两周一直太忙,没有好好处理上上上周遇到的一个让我加班到凌晨的问题,这个问题是判断flash的加载. 之前的思路是让flash的人在制作flash的时候,加入了一个回调方法,该方法再会回调我页面的方法 ...
- 自己封装的一个JS分享组件
因为工作的需求之前也封装过一个JS分享插件,集成了我们公司常用的几个分享平台. 但是总感觉之前的结构上很不理想,样式,行为揉成一起,心里想的做的完美,实际上总是很多的偏差,所以这次我对其进行了改版. ...
- Linux组件封装(五)一个生产者消费者问题示例
生产者消费者问题是计算机中一类重要的模型,主要描述的是:生产者往缓冲区中放入产品.消费者取走产品.生产者和消费者指的可以是线程也可以是进程. 生产者消费者问题的难点在于: 为了缓冲区数据的安全性,一次 ...
- 看JQ时代过来的前端,如何转换思路用Vue打造选项卡组件
前言 在Vue还未流行的时候,我们都是用JQuery来封装一个选项卡插件,如今Vue当道,让我们一起来看看从JQ时代过来的前端是如何转换思路,用数据驱动DOM的思想打造一个Vue选项卡组件. 接下来, ...
随机推荐
- 元素加了position:absolute则该元素的text-align:center居中失效的解决办法
position:absolute; top:50%; left:50%; -webkit-transform: translate(-50%,-50%); -moz-transform: trans ...
- Java集合之LinkedList源码解析
LinkedList简介 LinkedList基于双向链表,即FIFO(先进先出)和FILO(先进后出)都是支持的,这样它可以作为堆栈,队列使用 继承AbstractSequentialList,该类 ...
- Lua中用Split函数分割字符串
function Split(szFullString, szSeparator) local nFindStartIndex = local nSplitIndex = local nSplitAr ...
- Adb 获取手机信息
adb shell getprop [ro.product.board]: [herring][ro.product.brand]: [google][ro.product.cpu.abi2]: [a ...
- 详解BarTender符号体系特殊选项之“行数”
上面两篇文章小编和大家分享了BarTender符号体系特殊选项中的“行高”和“列”.此外,某些二维 (2D) 符号体系的结构为多个信息行,每一行看上去都像一个非常窄的条形码. 例如,以下图像是含 3 ...
- java程序员如何编写更好的单元测试的7个技巧
详解 cppunit进行单元测试 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确.通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函 ...
- Linux的时间设置与同步
http://www.cnblogs.com/liuyou/archive/2012/07/29/2614338.html
- logstash结合rsyslog,收集系统日志
rsyslog是日志收集工具.如今非常多Linux都自带rsyslog,用其替换掉syslog.怎样安装rsyslog就不讲了.大概讲下原理.然后讲logstash的相关配置. rsyslog本身有一 ...
- 重新生成RF的测试库API文档
在dos窗口下执行如下命令: 命令:python -m robot.libdoc 库名称 生成的API文件名.html 例如:python -m robot.libdoc MongoDBLibrar ...
- SpringBoot 常见问题记录
问题一 Error starting ApplicationContext. To display the auto-configuration report re-run your applicat ...