ConstraintLayout
以下で説明するユースケースに使用すべきではないことは確かですが、議論のために、垂直方向に整列されたコンポーネントを中央に配置する最良の方法は何でしょうか(重力を「中央」に設定し、垂直方向に設定するConstraintLayout
ことで可能なため)LinearLayout
) ?
4 つの側面すべてに拘束を追加することで、1 つのコンポーネントを中央に配置することができます。画面の中央に完全に配置されます。しかし、相互に制約された複数のコンポーネントがある場合、すべてのコンポーネントがオーバーラップする傾向があるため (上下に制約されている場合、これは予期される動作です)、新しく追加されたコンポーネントが中央のコンポーネントの下 (または上) になるため、注意が必要です。
中央のコンポーネントの上に 1 つのコンポーネントを追加し、下に 1 つのコンポーネントを追加することで、完璧であるとは思えないソリューションに行き着きました。そうすれば、コンポーネントは垂直に整列され、ほぼ中央に配置されます:)。
次に例を示します。
- 中央のコンポーネント:
- 上のコンポーネント、中央に拘束
- 下のコンポーネント、中央に拘束
上下に配置された他のコンポーネントは、それぞれ最も近いコンポーネント (上または下) に拘束されます。最初の画像でわかるように、「Country」フィールドの下に 3 つのコンポーネント、上に 2 つのコンポーネントがあるため、コンポーネントは完全に中央に配置されていません。どのデザイナーもこれに気付くでしょう:)、ConstraintLayout
コンポーネントのグループ全体を使用して中央に配置することは可能ですか(または、このように機能することを意図していません)
PS
LinearLayout
withgravity="center"
は、おそらくこの場合の最適なソリューションです。