Nativescript-layout-containers
NativeScript-レイアウトコンテナー
NativeScriptは、UIウィジェットコンポーネントのレイアウトのみを目的としたコンテナーコンポーネントのコレクションを提供します。 レイアウトコンテナは親コンポーネントとして機能し、1つ以上の子コンポーネントを持つことができます。 レイアウトコンテナーのすべての子コンポーネントは、その親レイアウトコンテナーによって提供される手法に基づいて配置できます。
NativeScriptは6つのレイアウトコンテナーをサポートし、それらは次のとおりです-
- 絶対レイアウトコンテナ
- ドックレイアウトコンテナー
- グリッドレイアウトコンテナー
- スタックレイアウトコンテナー
- レイアウトコンテナーのラップ
- FlexBoxレイアウトコンテナー
この章では、レイアウトコンテナーのすべての概念について詳しく説明します。
絶対レイアウト
AbsoluteLayoutはそれらの子の4つのプロパティを使用してそれらを配置し、それらは次のとおりです-
左-原点から横方向に移動する子のx方向の配置を定義します。
以下のように、アプリケーションのホームページにAbsoluteLayoutコンテナを追加しましょう-
出力
AbsoluteLayoutの出力は以下のとおりです-
DockLayout
ドックプロパティの可能な値は次のとおりです-
左-レイアウトコンテナは、子コンポーネントを左隅にドッキングします。
右-レイアウトコンテナは子コンポーネントを右隅にドッキングします。
デフォルトでは、 DockLayout コンテナは最後の子コンポーネントをドッキングします。 それは、stretchLastChildプロパティをゼロに設定することによってオーバーライドできます。
以下のように、アプリケーションのホームページに DockLayout コンテナを追加しましょう-
出力
以下はDockLayoutの出力です-
グリッドレイアウト
GridLayoutコンテナコンポーネントは、複雑なレイアウトコンテナの1つであり、子要素を行と列を含む表形式で配置します。 デフォルトでは、1つの行と1つの列があります。 次のプロパティがあります-
どこで、
- 数値は、絶対列幅を示します。 他の列に対する列の幅を示します。 列の幅を他の列と比較して何倍にする必要があるかを示す数値を前に付けることができます。 たとえば、2 は列の幅が最小列の幅の2倍であることを示します。
- autoは、列の幅をその最大の子と同じ幅で示します。
たとえば、*、2 *は2つの列を意味し、2番目は最初の列の2倍のサイズになります。
GridLayoutは、それらの子の以下に指定されたプロパティを使用してそれらをレイアウトします-
col-列番号
以下のように、アプリケーションのホームページにGridLayoutコンテナを追加しましょう-
出力
以下はGridLayoutの出力です-
StackLayout
StackLayoutは、子を1次元の行に水平または垂直に編成します。 レイアウトオプションを使用して、レイアウト内のスペースに基づいてサイズを変更できます。 水平または垂直の方向を指定するために使用できる方向プロパティがあります。
以下のように、アプリケーションのホームページにStackLayoutコンテナを追加しましょう-
出力
StackLayoutの出力は以下のとおりです-
WrapLayout
WrapLayoutは、コンテンツを新しい行または列にラップするために使用されます。
それは次の3つの特性を持っています-
以下のように、アプリケーションのホームページにWrapLayoutコンテナを追加しましょう-
出力
フレックスボックスのレイアウト
FlexboxLayoutコンテナコンポーネントは、高度なレイアウトコンテナの1つです。 シンプルなレイアウトを非常に複雑で洗練されたレイアウトにレンダリングするオプションを提供します。 CSS Flexboxに基づいています。
FlexboxLayoutコンポーネントには多くのプロパティがあり、それらは次のとおりです-
flexDirection
これは、子コンポーネントが配置される方向を表します。 flexDirectionの可能な値は次のとおりです-
列-子コンポーネントは上下に配置されます。
以下のように、アプリケーションのホームページにFlexLayoutコンテナを追加しましょう-
出力
以下はFlexLayoutの出力です-行-
ここで、flexDirectionの値をrowからrow-reverseに変更し、それがレイアウトにどのように影響するかを確認します。
出力
以下はフレックスレイアウトの出力です-行反転-
flexDirectionの値をrow-reverseからcolumnに変更して、レイアウトにどのように影響するかを確認してみましょう。
出力
FlexLayoutの出力–列は以下のとおりです-
flexDirection値をcolumnからcolumn-reverseに変更し、それがレイアウトにどのように影響するかを確認してみましょう。
出力
以下はFlexLayoutの出力です–列の反転-
flexWrap
これは、子コンポーネントが単一の行/列でレンダリングされるのか、またはflexDirectionで設定された方向で折り返すことによって複数の行にフローするのかを表します。
可能な値は次のとおりです-
flexWrapプロパティを追加して、その値をラップとして設定します。 また、以下に指定されているようにさらに3つの子を追加します-
出力
以下はflexWrapの出力です-
JustifyContent
これは、子コンポーネントが相互にどのように配置されるか、および全体的な構造を表します。 それは以下に指定されているように3つのプロパティを持っています-
justifyContentも追加して、動作を確認しましょう-
出力
以下はFlexレイアウトの出力です– JustifyContent-
FlexLayoutコンテナは、子が縮小の順序と機能を指定するための2つのプロパティを提供します。 彼らは次のとおりです-