コンテナーのレイアウトを学ぶ2

Sencha Ext JS 6- Layout Model 2

さて、引き続きレイアウトの種類を見ていきましょう。

Card レイアウト

このレイアウトは、複数のコンテナー中、1つだけ全体表示(コンテナー内)で表示してくれるレイアウトです。プログラマブルに、アイテムを切り替えることができ、サンプルのようにウィザード形式のUIを構築したりすることができます。

スクリーンショット 2016-02-29 13.40.24

カードになるコンテナーに対してidを設定することで、イベントハンドラなどでカードの表示を制御することができます。

カードの表示制御は、setActiveItemで制御します。ドキュメントにあるように、getLayoutでレイアウトオブジェクトを取得してから、setActiveItemを呼び出すのがポイントです。

このレイアウト、実は、Ext.tab.Panelクラスで利用されていて、タブの内容切替は、このCardレイアウトが使われています。タブパネルを使うときに、Cardレイアウトを意識することは、あまりないかも知れませんが、タブを押す以外に、先ほどのようにプログラマブルにタブを切り替えることもできるわけですね。

スクリーンショット 2016-02-29 13.47.27

Center レイアウト

1つのコンポーネントを中央に配置するレイアウトが、このレイアウトになります。ログインフォーム作った頃に、vbox/hboxで作りましたが、実はこのcenterレイアウト一発でも作れるわけですね。

スクリーンショット 2016-02-29 13.54.27

中央に配置する、下記の場合パネルですが、widthheightにパーセント指定、またはピクセル指定をしてサイズを決めることができます。

Column レイアウト

アイテムをカラム状に配置するのが、このレイアウトです。

スクリーン
ショット 2016-02-29 13.58.37

カラムの幅を、パーセント指定したい場合は、columnWidthを使います。1が100%を指しますので、小数点で指定します。また、widthでピクセル指定したものを混ぜることも可能です。

終わりに

レイアウトの種類、まだありますねぇ。もうちょっと続きます。レイアウトの種類を把握して、さらにタブパネルのように最初から組み込まれて使われているレイアウトについて把握しておくと、それぞれのコンポーネントを扱うときにも非常に有効です。

ここでは、紹介のみを行っていますが、実際に手元でレイアウトを使って動かしてみることをオススメします。

コンテナーのレイアウトを学ぶ2