見出し画像

【.NET MAUI】VerticalStackLayoutの使い方メモ【XAML】

.NET MAUIで新しいプロジェクトを作ると、最初にVerticalStackLayoutを使ったサンプルが用意されています。

Vertical=垂直に、縦に
Stack=積み重ねた
Layout=レイアウト
ということで、VerticalStackLayoutは、縦に積み重ねたレイアウトという意味になります。

サンプルのアプリを見てみると、上から画像、ラベル、ラベル、ボタンと、要素が縦に並んでいるのがわかります。
これがVerticalStackLayoutの特徴です。

スマホの画面のように縦長の画面だと、このように縦に長くなるレイアウトが適しているようで、サンプルとして用意されているのだと思います。

そこで、VerticalStackLayoutについて使い方を調べたので、ここにまとめていきます。

VerticalStackLayoutの標準の見え方

まずは、サンプルのコードを消して、純粋なVerticalStackLayoutとボタンを3つ並べてみました。

こんな感じで、それぞれのボタンは横いっぱいに広がり、隙間もありません。
これがVerticalStackLayoutのプロパティ等を設定していない標準の見え方になります。

Margin(周りの隙間)

Margin="数"で、VerticalStackLayoutの周りに隙間を作ります。

Spacing(子要素同士の間隔)

Spacing="数"でボタンなどの子要素同士の間隔を空けます。

HorizontalOptions(子要素の配置)

子要素にHorizontalOptionsを設定することで、それぞれの位置を設定することができます。
HorizontalOptions="Start" 左側
HorizontalOptions="Center" 中央
HorizontalOptions="End" 右側
HorizontalOptions="Fill" VerticalStackLayoutの幅いっぱいに広がる

レイアウトを入れ子にする

VerticalStackLayoutの中に、別のレイアウトをいれることができます。
例えば、VerticalStackLayoutの中にHorizontalStackLayoutを入れることで、要素を横にも並べることができます。

2つ目のHorizontalStackLayoutでは、FontSizeやVerticalOptionsを設定して見た目を変えています。

レイアウトを入れ子にして組み合わせることで、幅が広がって使いやすそうですが、このようなレイアウトの場合、入れ子にせずに、Gridレイアウトを使うことが推奨されているようです。

ScrollView(スクロールできるようにする)

ウィンドウサイズを超えて要素がある場合、VerticalStackLayoutだけでは、はみ出た分は表示されません。

そこで、VerticalStackLayoutを<ScrollView>で囲ってあげることで、スクロールして表示することができるようになります。


いいなと思ったら応援しよう!