expoで要素を中央配置する4つの方法
expoで要素を中央配置する方法をまとめておきたいと思ったので、備忘録的にまとめておきます。
目次(クリックで読みたい部分にジャンプできます)
expoで使える中央配置4つ
expoで中央配置する方法は、私の調べた中で次の4つがあります。
中央配置するプロパティ
textAlign
justifyContent
alignItems
alignContent
これらのどれかを使うことで、中央配置をすることができます。
次に、それぞれどのような使い方ができるかを解説します。
textAlign
「テキストを中央配置する」のに用います。
<Text style={{ textAlign: 'center' }}>中央揃えのテキスト</Text>
<Text>のように、囲んでいる子要素のテキストに対して適用できます。
ただ、子要素のViewコンポーネントなどには適用できません。
あくまで、<Text>コンポーネントのみに適用できるものだと思ってください。
justifyContent
水平方向の配置に作用します。
後ほど紹介するalignItems も、水平方向を操作するものと同じですが、
スタンダードに使うのは、justifyContentが良いでしょう。
<View style={{ justifyContent: "center" }}>
{/* 子要素 */}
</View>
子要素の中に、<View>コンポーネントなどを入れ子構造などにしても、全てに作用することができます。
水平方向に配置したいと思ったら、justifyContentを使うと覚えておくことにします。
alignItem
垂直方向の配置に作用します。
垂直方向で、中央配置するのに用います。
<View style={{ alignItem: "center" }}>
{/* 子要素 */}
</View>
alignContent
justifyContentと同じで、水平方向に作用します。
違いは、alignContentは、「子要素の配置の間隔」を調整するものです。
正直自分もよく分かってはいませんが、
justifyContentは要素自体、alignContentは要素の間隔を。と理解しています。
重宝するのは、justifyContentでは中央配置ができない時です。
justifyContentを指定しても、子要素がどうしても動かない時があります。
その時に、alignItemsを使えばいいんだ!と覚えておけば良いです。
<View style={{ alignContent: 'center' }}>
{/* 子要素 */}
</View>
まとめ
今回は、expoで要素を中央配置するための方法4選を紹介しました。
中央配置をする機会は本当に多いので、この備忘録を見直していこうと思います。
では。