0

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

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

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

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

我已经尝试设置扩展

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

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

4

2 回答 2

1

默认情况下和记录的方式。你不可以做这个。

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

话虽如此,这并非不可能:D。至于现在,我为您提供了 2 个解决方案。

1.相当正统的方式 使用带有 2 个项目的标签面板。1 个带有轮播布局的项目 1 个带有 hbox 布局的项目 这种方法将使您有 4 个列表需要处理。

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

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

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

于 2014-04-15T16:08:17.733 回答
0

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

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

于 2014-04-04T18:21:00.690 回答