0

両方の方法で機能するビューを作成しています。クリックするツールバーのボタンに応じて、カルーセルまたは hbox コンテナー (各リストは幅の 50% を占める) のいずれかで 2 つのリストを取得します。

コンテナとカルーセルの間でビューを切り替えるにはどうすればよいですか?

xtypeをカルーセルからコンテナに変更しようとしました

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

そして、拡張を設定しようとしました

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

もちろん、2つを組み合わせてみました。

4

2 に答える 2

1

デフォルトで文書化された方法で。これはできません。

私はこれを試してみたと思いますが、実行時にレイアウトを動的に変更できないことがわかりました。

そうは言っても、これは不可能ではありません:D。今のところ、私はあなたのために2つの解決策を得ました。

1.かなりオーソドックスな方法 で、2つの項目を持つタブパネルを使用します。カルーセル レイアウトの 1 つのアイテム hbox レイアウトの 1 つのアイテム このアプローチでは、処理するリストが 4 つになります。

2.動的な方法 現在のビューでレイアウトを「フィット」に設定し、titleBar/toolbar を子コンポーネントとして配置し、ドッキングされていることを確認します。そのタイトルバー/ツールバー内に、ビューを変更する方法として2つのボタンをコントローラークラスに配置すると、必要なデフォルトレイアウトとリストを持つ「コンテナー」をビューに追加するinit関数が必要になります。

ユーザーが他のボタンを押すと、ビューからすべてのアイテムが削除され (ドッキングされたアイテムは影響を受けません)、目的のレイアウトとリストを持つ別のコンテナーが追加されます。

PS:現在、ビューを変更したときにリストのスクロールバーをどのように同期するかについてはわかりませんリストを要素として取得し、スクロールバーにアクセスするには、dom セレクターを使用します)

于 2014-04-15T16:08:17.733 に答える
0

これは、ビューのカード レイアウトで実現できます。1 枚のカードは hbox レイアウトのコンテナで、2 枚目のカードはリストのカルーセルです。クリックしたツールバー ボタンに基づいて、ビュー上のカードを切り替えることができます。

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

于 2014-04-04T18:21:00.690 に答える