【Android】GridLayoutでRowSpanやColumnSpanが効かない時はlayout_gravityを設定する

プログラミング

GridLayoutを使ってグリッドを連結する際にColumnSpanやRowSpanを指定しても上手く結合できませんでした。

上手くいかなかった際のコードが以下の通りです。

 <Button
 android:id="@+id/buttonEqual"
 android:layout_width="64dp"
 android:layout_height="64dp"
 android:text="="
 app:layout_rowSpan="2"
 app:layout_column="3"
 app:layout_row="2" />

調べてみた結果、layout_gravityという要素で結合したい方向を指定すると上手く動作することがわかりました。

 <Button
 android:id="@+id/buttonEqual"
 android:layout_width="64dp"
 android:layout_height="64dp"
 android:text="="
 app:layout_rowSpan="2"
 app:layout_column="3"
 app:layout_gravity="fill_vertical"
 app:layout_row="2" />

縦方向に結合するならfill_vertical、横方向に結合するならfill_horizonalを指定すれば良いみたいです。

タイトルとURLをコピーしました