Ext6 手机端

写在前边:本文基于Ext 6.01, 以手机端为研究对象,最后更新于 2017年2月28日


1、布局相关

描述:一个新页面上下布局,上边一张静态图,下边是一个根据后台数据渲染的dataview列表,当列表内容超出 整个页面可以滑动(如图)

  • 页面继承extend:'Ext.Container'

  • 页面内容区分上下两部分 items:[{上半部分的图区域的代码},{下半部分列表区域的代码}]

  • 需要给items设置属性 layout:'vbox',scrollable:{ x:false, y:true}

  • 在dataview 部分还要配置属性 scrollable:false

  • 不能用xtype:list 代替 xtype:dataview 会出现在列表区域不能上下滑动页面的情况

  • 上述配置 亲测适用于 上下布局 且有一部分为列表的页面 ,比如将图的区域换成一个按钮 items:[{上半部分列表区域的代码},{下半部分的按钮区域的代码}]


下方为具体的示例,仅供参考

clipboard.png

/**
 * 作者: 于梦中
 * 日期: 创建于2017/2/28 9:27
 * 描述: 儿科 成长关怀页面 妈妈早知道.
 */
Ext.define('MobileMedical.view.home.growingcare.careKnow', {
    extend:'Ext.Container',
    xtype:'care-know',
    config: {
        title:'妈妈早知道',
        layout:'vbox',
        scrollable:{
            x:false,
            y:true
        },
        // controller: 'mycontacts',
        items:[
            {
                style:'border-bottom: 2px solid #ccc;',
                html:   '<div class="care_div">' +
                            '<img src="resources/img/growingcare/care-know-bg.jpg">' +
                        '</div>' +
                        '<div class="care_know_header">' +
                            '<img src="resources/img/growingcare/care-know-hug.png">妈妈早知道' +
                        '</div>'
            },
            {
                xtype:'dataview',
                store:'careknow',
                scrollable:false,
                itemTpl: '<div class="care_list_container">' +
                            '<h1>{title}</h1>' +
                            '<div style="margin-top: 5px;">' +
                                '<div class="care_list_photo"><img src="resources/img/growingcare/care-know-baby.png"/></div>' +
                                '<div class="care_list_note">{content}</div>' +
                                '<div class="care_list_icon"><span><i class="fa fa-calendar"></i>{time}</span><span><i class="fa fa-eye"></i>3453</span></div>' +
                            '</div>'+
                        '</div>',
                listeners: {
                    itemtap:function(){
                        showToast('点击了',1500,'center')
                    }
                }
            }
        ],
        listeners: {
            activate: function() {
                // this.fireEvent('initContactList');
            }
        }
    }
});

2.动态修改当前页的title

描述:不同页面可能会跳转到同一页面,比如联系人的显示,从A页面跳转C页面显示所有联系人,title显示"常用联系",从B页面跳转C页面显示年龄小于14岁的 title显示"我的宝宝",

 var titleBar = Ext.Viewport.getActiveItem().query('titlebar')[0];
 if(titleBar){
    titleBar.setTitle("我的宝宝");
 }

3.获取当前页的xtype

描述:有时候需要判断当前页的xtype,根据每个页面的xtype的不同可以动态显示或开启某些功能

    //获取menu
    var appMain = Ext.ComponentQuery.query('app-main')[0],
            tabBar = appMain.getTabBar();
    //获取当前页的xtype
    var canPopItems = MobileMedical.app.getTabView().innerItems;
    var currentView = canPopItems[canPopItems.length - 1];
    // 如果从login页面回退,回退页面为growingcare,则隐藏tabbar
    if (currentView.xtype === "growingcare" &&  item.xtype === 'login'){
        tabBar.setHidden(true);
    }

4.store的一种使用方法

描述:数据渲染的时候从后台请求后需要存储在store里


 {
                xtype: 'dataview',
                itemTpl: '<div class="care_list_container">' +
                '<h1>{title}</h1>' +
                '<div style="margin-top: 5px;">' +
                '<div class="care_list_photo"><img src="resources/img/growingcare/care-know-baby.png"/></div>' +
                '<div class="care_list_note">{short-content}</div>' +
                '<div class="care_list_icon"><span><i class="fa fa-calendar"></i>{time}</span>' +
                //'<span><i class="fa fa-eye"></i>3453</span>' +
                '</div>' +
                '</div>' +
                '</div>',
                listeners: {
                    itemtap: 'onKnowItemTap'
                }
            }
 /**
     * 对应的controller里
     *初始化数据
     */
    initData: function () {
        var me = this,
            view = me.getView(),
            dataview = view.down('dataview');
        var pageIndex = '0',  //请求第一页的数据
            pageNum = '2';   //只显示两条
        Ext.Global.Ajax.getNewsList(pageIndex, pageNum, function(jsonData) {
            console.info('getNewsList success..', jsonData);
            me.monKnowData = jsonData.newsList;
            if (!me.store) {
                me.store = Ext.create('Ext.data.Store');
                me.store.setModel('MobileMedical.model.careknow');
            }
            var partArray = Ext.Array.slice(me.monKnowData, 0, 2);
            me.store.setData(partArray);
            dataview.setStore(me.store);
        }, function(msg) {
            console.info('getNewsList fail....', msg);
        });

5.sencha app build android报错

描述:见图

clipboard.png

解决方法:
进入到自己项目的cordova目录cd cordova,在该目录下执行cordova platform remove android,然后再重建cordova platform add android

clipboard.png

执行完毕后再次运行sencha app build android运行成功,问题得以解决

6.adb devices 报错

描述:见图,拔掉重插并不能解决

clipboard.png

原因:端口占用

clipboard.png

解决方法:任务管理器直接杀掉,如果不行的话
找到桌面的,@@@@,点取消

clipboard.png

clipboard.png

7.执行cordova build android若出现了以下错误:

clipboard.png

原因是上一步添加的android平台的android target是android-22,而目前只安装了android-23的API。
解决方法是 修改platforms下的android下的AndroidManifest.xml和project.properties中的

clipboard.png

clipboard.png

若出现如下图所示标注的字眼,则说明build成功

clipboard.png

8.

clipboard.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很抱歉,我是一名语言模型AI,无法为您提供视频播放器。但我可以告诉您,EXT JS 6是一种用于创建Web应用程序的JavaScript框架,可以用于构建用户界面,包括视频播放器。如果您需要特定的帮助,您可以在EXT JS论坛或相关社区寻求帮助。 ### 回答2: Ext JS是一个强大的JavaScript应用程序框架,它可以用于开发各种类型的Web应用程序。在Ext JS 6版本中,它提供了丰富的组件和工具,使开发人员可以轻松地创建视频播放器。 首先,我们可以使用Ext JS的视图组件来构建视频播放器的用户界面。例如,可以使用面板组件作为播放器的容器,并在面板上放置控制按钮和播放进度条等元素。还可以使用按钮组件来实现播放、暂停、快进和后退等功能。 其次,Ext JS提供了多媒体组件,可以用于播放视频。可以使用媒体组件加载视频文件,并使用相关方法控制视频的播放、暂停和跳转等操作。还可以使用事件处理机制来监听视频播放过程中的事件,例如播放完成、缓冲状态和播放错误等。 除了基本的播放功能,我们还可以通过Ext JS的插件机制来扩展视频播放器的功能。例如,可以使用插件来实现全屏播放、倍速播放、字幕显示和弹幕功能等。 另外,Ext JS还提供了数据绑定和模板功能,可以方便地将视频播放器与后端服务器进行交互。可以使用数据绑定来获取视频列表、播放历史记录和用户信息等数据,然后使用模板来渲染这些数据到播放器界面中。 总结来说,使用Ext JS 6可以轻松创建一个功能丰富的视频播放器。通过使用视图组件、多媒体组件、插件功能和数据绑定等特性,可以实现播放控制、界面美化和与后端服务器的数据交互等功能。 ### 回答3: Ext JS 6是一种强大的JavaScript库,用于构建现代化的Web应用程序。它提供了许多丰富的组件和工具,可以轻松地创建交互式和响应式的用户界面。 要在Ext JS 6中实现视频播放器,我们可以使用HTML5的video元素来播放视频文件。首先,我们需要创建一个包含video标签的Ext.Container组件,在页面上显示视频播放器。然后,设置video标签的属性,如视频URL、尺寸和控件选项。我们还可以设置Autoplay属性来自动开始播放视频。 除了基本功能之外,我们还可以通过使用Ext JS 6的事件和方法来增强视频播放器的功能。例如,我们可以添加事件监听器来捕获视频的播放、暂停和结束事件,并执行相应的操作。我们还可以使用JavaScript代码来控制视频的播放、暂停、快进和倒带等操作。 另外,我们还可以使用Ext JS 6的布局和样式功能来美化视频播放器。我们可以为播放器添加自定义的样式、控件按钮和进度条,以提升用户体验和界面的吸引力。 总结来说,使用Ext JS 6可以轻松地创建功能强大的视频播放器。通过使用HTML5的video元素和Ext JS 6的组件、事件和方法,我们可以实现播放、控制和美化视频的各种功能,从而为用户提供优质的视频播放体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值