这篇文章介绍了sencha touch 模仿tabpanel导航栏TabBar的实例代码,有需要的朋友可以参考一下

基于sencha touch 2.2所写

效果图:

代码:

/*

*模仿tabpanel导航栏

*/

Ext.define('ux.TabBar', {

    alternateClassName: 'tabBar',

    extend: 'Ext.Toolbar',

    xtype: 'tabBar',

    config: {

        docked: 'bottom',

        cls: 'navToolbar',

        layout: {

            align: 'stretch'

        },

        defaults: {

            flex: 1

        },

        //被选中的按钮

        selectButton: null

    },

    initialize: function () {

        var me = this;

        me.callParent();

        //监听按钮点击事件

        me.on({

            delegate: '> button',

            scope: me,

            tap: 'onButtonTap'

        });

    },

    //更新被选中按钮

    updateSelectButton: function (newItem, oldItem) {

        console.log(oldItem);

        if (oldItem) {

            oldItem.removeCls('x-tabBar-pressing');

        }

        if (newItem) {

            newItem.addCls('x-tabBar-pressing');

        }

    },

    //当按钮被点击时

    onButtonTap: function (button) {

        this.setSelectButton(button);

    },

    /**

    * @private

    *执行添加项,调用add方法后自动执行

    */

    onItemAdd: function (item, index) {

        if (!this.getSelectButton() && item.getInitialConfig('selected')) {

            this.setSelectButton(item);

        }

        this.callParent(arguments);

    }

});

需要的css:

复制代码 代码如下:

.navToolbar {

    padding:0;

}

.navToolbar .x-button {

    border:0;

    margin:0;

    border-right:1px solid #585B5B;

    border-radius:0;

    padding:0;

}

.navToolbar .x-button .x-button-label {

    font-weight:normal;

    color:White;

    font-size:0.6em;

}

.navToolbar .x-tabBar-pressing {

    background-image:none;

    background-color:#0f517e;

    background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(0%,#0a3351),color-stop(10%,#0c4267),color-stop(65%,#0f517e),color-stop(100%,#0f5280));

    background-image:-webkit-linear-gradient(top,#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);

    background-image:-moz-linear-gradient(top,#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);

    background-image:-o-linear-gradient(top,#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);

    background-image:linear-gradient(top,#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);

}

使用:

复制代码 代码如下:

Ext.define('app.view.MyBar', {

    alternateClassName: 'myBar',

    extend: 'ux.TabBar',

    xtype: 'myBar',

    config: {

        items: [

        {

            xtype: 'button',

            text: '问卷调查',

            //只有第一个设置的属性有效

            selected: true

        },

        {

            xtype: 'button',

            text: '我的积分'

        },

        {

            xtype: 'button',

            text: '开奖大厅'

        },

        {

            xtype: 'button',

            text: '幸运号码'

        },

        {

            xtype: 'button',

            text: '更多'

        }]

    }

});

sencha touch 模仿tabpanel导航栏TabBar的实现代码的更多相关文章

  1. sencha touch 模仿tabpanel导航栏TabBar(2013-11-7)

    基于sencha touch 2.2所写 代码: /* *模仿tabpanel导航栏 */ Ext.define('ux.TabBar', { alternateClassName: 'tabBar' ...

  2. iOS开发之 -- 判断tableview/scrollview的滑动方法,及导航栏渐变的实现代码

    开发的过程中,肯定会用到在视图想上滑动的时候,在导航处做一些操作,比如向上滑动的时候,做个动画,出现一个搜索框,或者其他的操作,那么我们怎么来判断它的滑动方向呢? 首先我们应该知道tableview继 ...

  3. jquery侧边折叠导航栏制作,两行代码搞定

    jquery侧边折叠导航栏制作,两行代码搞定 //CSS*{margin: 0;padding: 0} ul{list-style: none} .menu li ul{display: none} ...

  4. sencha touch 2 tabpanel中List的不显示问题,解决方案

    笔者在做sencha项目的时候碰到一个需求,就是"好友列表"中分为"未确认好友"和"已确认好友",两个都是一个list,自然想到的就是使用t ...

  5. 小程序 - 底部导航栏“tabBar”

    小程序底部导航 1.app.json页面配置: { "pages": [ "pages/movie/movie", "pages/cinema/cin ...

  6. 添加底部导航栏tabbar

    效果图: 如果要添加底部导航栏,最少2个,最多5个. app.json { "pages": [ "pages/index/index", "page ...

  7. 网页导航栏 html + css的代码实现

    一般来讲,我们的网页导航栏是这么个模式来构建在结构上:1.首先我们需要给导航栏的div 给个类名 一般为nav2.然后就是一个无序表格 3.由于导航栏的文字一般都是链接用来跳转页面 要在li里面包含一 ...

  8. <iOS 导航栏>第一节:导航栏透明方法实现代码

      说下导航栏的透明方法:   很多应用需要导航栏随着向上滑动,逐渐从透明变成不透明,很炫酷,大部分应用都在使用导航栏渐变效果,现附上代码然后直接将实现,一会讲下如何来实现,这一部分直接上代码.   ...

  9. 01 uni-app框架学习:项目创建及底部导航栏tabBar配置

    1.创建一个项目类型选择uniapp 2. pages里新建3个页面如下 3.在pages.json中配置底部导航tabBar 效果展示:

随机推荐

  1. linux安装软件的几种方式(kali平台)和一些实用的软件(持续更新)

    安装软件前我们先更改镜像源,编辑 /etc/apt/sources.list 文件, 在文件最前面添加以下条目: #中科大更新源 deb https://mirrors.ustc.edu.cn/kal ...

  2. PHP.39-扩展-锁机制解决并发-MySQL锁、PHP文件锁

    锁机制适用于高并发场景:高并发订单.秒杀…… apache压力测试 Mysql锁详解 语法 加锁:LOCK TABLE 表名1 READ|WRITE, 表名2 READ|WRITE ......... ...

  3. 如何在windows“我的电脑”中添加快捷文件夹

    如图所示,windows中打开“我的电脑”时,原来有6个默认的文件夹,访问非常便捷,自己想再增加,可以使用“ThisPCTweaker”即可完成 操作如下图,不多解释,简单操作: 文件下载:http: ...

  4. c++实验3类和对象

     实 验 3: part 1:验证 part 2:graph #include <iostream> #include "graph.h" using namespac ...

  5. echarts的pie图中,各区块颜色的调整

    今天在学习使用echarts生成各种图表. 然后在使用pie图时出现我无论怎么更改代码中的颜色,pie图中各块的颜色都十分相近,几乎没法区别块与块之间的区别,如下图: 在下图中,除了其中一块的是红色的 ...

  6. ActiveMQ测试实例

    ActiveMQ的安装与启动 1 下载ActiveMQ:http://activemq.apache.org/download.html 2 下载后解压到任意文件夹,解压后文件夹内的目录为: 3 进入 ...

  7. 「日常训练」 不容易系列之(3)—— LELE的RPG难题 (HDU 2045)

    题目简述 有排成一行的n" role="presentation">nn个方格,用红(Red).粉(Pink).绿(Green)三色涂每个格子,每格涂一色,要求任何 ...

  8. 【个人笔记】关于C++小数的处理

    无论是C-Style还是C++-Style的输出,小数都会四舍五入.如果想要截断两种比较好的方法.第一种:利用sscanf输出成字符串,再人为地putchar().第二种:已知钦定保留6位小数,那么可 ...

  9. Lua工具类

    1.打印table --一个用以打印table的函数 function print_r (t, name) print(pr(t,name)) end function pr (t, name, in ...

  10. eth day05

    智能合约众筹实战 淘宝众筹,京东众筹 https://izhongchou.taobao.com/index.htm 分析商业模式 解决京东众筹的痛点 https://izhongchou.taoba ...