FlexBoxとGridを使ったレスポンシブGUIレイアウト
を使用して、さまざまな画面サイズや方向で動作するレスポンシブGUIレイアウトを構築します。FlexBoxそしてGridクラスである。
レベル:中級
プラットフォーム:Windows, macOS, Linux, iOS, Android
クラス: FlexBox,FlexItem,Grid,GridItem
スタート
このチュートリアルは、以下のような簡単なレイアウトテクニックを理解していることを前提としています。Rectangleクラスで説明されている。Tutorial: Advanced GUI layout techniques.もしまだなら、まずそのチュートリアルを読むべきだ。
このチュートリアルのデモ・プロジェクトのダウンロードはこちらから:PIP|ZIP.プロジェクトを解凍し、最初のヘッダーファイルをProjucerで開く。
このステップにヘルプが必要な場合は、以下を参照してください。Tutorial: Projucer Part 1: Getting started with the Projucer.
デモ・プロジェクト
デモ・プロジェクトでは、次のようなさまざまなレスポンシブ・レイアウトのテクニックを紹介しています。FlexBoxそしてGridオブジェクトは、画面サイズや解像度が変化する場合に使用さ れる。最初にプロジェクトを初期状態で実行すると、次のようになるはずだ:

今のところ、レイアウトは一般的な非レスポンシブ・テクニックを使って画面上にコンポーネントをレイアウトしており、向きの変化には対応していません。私たちはFlexBoxそしてGridこれらの問題を根絶するためのアイテムだ。
FlexBoxとGridレイアウトシステム
についてFlexBoxそしてGridクラスは、CSSウェブ開発で使用されているレスポンシブ ・レイアウトの実践から大きな影響を受けています。以前にレスポンシブ・ウェブサイトをデザインしたことがあれば、このセクションで説明するレイアウト・システムに慣れているはずです。
使用時FlexBoxそのため、まずレイアウトの方向を水平か垂直かを定義する必要がある。この方向を主軸と、その垂直に対をなす横軸.この情報に基づき、以下のプロパティがレイアウトに影響を与える:
- ジャスティフィケーションは、主軸に沿った項目の位置に影響する。
- アライメントは、十字軸に沿ったアイテムの位置に影響する。
- ラッピングは、主軸上のアイテムが横軸上にこぼれることによってオーバーフローした場合に行われる。
コンテナ内のアイテムはFlexItemクラスがあり、その動的なサイズ変更に影響する3つの柔軟なプロパティを持っている:
- フレックス・グロウは、必要であればアイテムを成長させる能力を定義する。
- フレックスシュリンクとは、必要に応じて収縮する機能を定義したものである。
- Flex-basisは、動的なサイズ変更前のアイテムのデフォルトサイズを定義します。
2次元レイアウトシステムとして、Gridの両方で動作する。行軸と列軸である。同様にFlexBox以下のプロパティは、レイアウトに以下のような影響を与える:
- ジャスティフィケーションは、行軸に沿った項目の位置に影響します。
- Alignmentは、列の軸に沿ったアイテムの位置に影響します。
- ラッピングは、行または列の項目がオーバーフローしたときに実行できる。
GridItemオブジェクトはGridそして、そのサイズに影響を与える有用な特性を持っている:
- マージンは、特定の項目に関するギャップを提供できる。
- Spanは、複数のグリッドセルを埋めるために項目を拡張できます。
特定のプロパティがこれらのレイアウト・システムにどのような影響を与えるかがわかったので、デモ・プロジェクトでこれらの変更を実装し始めることができる。