在转盘和容器之间切换

时间:2014-04-03 11:25:54

标签: sencha-touch sencha-touch-2 sencha-touch-2.3

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

如何在Container和Carousel之间切换视图?

我尝试将xtype从轮播更改为容器

Ext.getCmp("myView").xtype='container';

我尝试设置扩展

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

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

2 个答案:

答案 0 :(得分:1)

默认情况下和记录方式。你不能这样做。

我想我已经尝试过了,并且认为布局不能在运行时动态更改。

话虽如此,这不是不可能的:D。 至于现在,我有2个解决方案。

1.相当正统的方式 使用带有2个项目的tabpanel。 1个带旋转木马布局的项目 1个项目与hbox布局 这种方法会让你有4个清单来处理。

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

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

PS:目前我不知道你在更改视图时如何同步列表的滚动条我只知道如果可能的话你需要付出很多努力(或者你可以试试)使用dom选择器将列表作为元素,然后访问滚动条)

答案 1 :(得分:0)

您可以使用View上的卡片布局实现此目的。一张卡是具有hbox布局的Container,第二张卡是带有列表的轮播。根据单击的工具栏按钮,您可以在视图上切换卡片。

http://docs.sencha.com/touch/2.3.1/#!/api/Ext.layout.Card