Sencha touch 在转盘和集装箱之间切换

Sencha touch 在转盘和集装箱之间切换,sencha-touch,sencha-touch-2,sencha-touch-2.3,Sencha Touch,Sencha Touch 2,Sencha Touch 2.3,我正在创建一个双向工作的视图:根据您单击工具栏上的哪个按钮,您可以在旋转木马或hbox容器中获得两个列表(每个列表占用50%的宽度) 如何在容器和旋转木马之间切换视图 我试图将xtype从转盘更改为容器 Ext.getCmp("myView").xtype='container'; 我试过设置扩展 Ext.getCmp("myView").extend='Ext.Container'; 当然,我尝试将两者结合起来。您可以通过视图上的卡片布局来实现这一点。一张卡是带有hbox布局的容器,第二张

我正在创建一个双向工作的视图:根据您单击工具栏上的哪个按钮,您可以在旋转木马或hbox容器中获得两个列表(每个列表占用50%的宽度)

如何在容器和旋转木马之间切换视图

我试图将xtype从转盘更改为容器

Ext.getCmp("myView").xtype='container';
我试过设置扩展

Ext.getCmp("myView").extend='Ext.Container';

当然,我尝试将两者结合起来。

您可以通过视图上的卡片布局来实现这一点。一张卡是带有hbox布局的容器,第二张卡是带有列表的旋转木马。根据单击的工具栏按钮,可以在视图上切换卡


默认情况下,以文档化的方式。你不能这样做

我想我已经试过了,并且发现布局不能在运行时动态改变

尽管如此,这并非不可能。 至于现在,我有两个解决方案给你

非常正统的方式 使用带有2项的选项卡面板。 1个带转盘布局的项目 1个带有hbox布局的项目 这种方法将使您有4个列表需要处理

2.动态方式 在当前视图中,将布局设置为“适合”,将标题栏/工具栏作为子组件,并确保其固定。 在标题栏/工具栏内,放置2个按钮作为更改视图的方式 现在在控制器类上,您需要一个init函数,该函数将添加一个“容器”,该容器具有所需的默认布局和视图列表

当用户按下“其他”按钮时,您将从视图中删除所有项目(停靠的项目将不受影响),并添加另一个具有所需布局和列表的容器


PS:目前我不知道当您更改视图时如何同步列表的滚动条,我只知道如果可能的话,您将需要投入大量的精力(或者您可以尝试使用dom选择器来获取列表作为元素,然后访问滚动条)

准备两个列表作为对象项,使用Ext.Create('Ext.Container')或Ext.Create('Ext.Carousel')创建视图dynamicali,并将项目分配到该视图中