私は2x2の単純なグリッドレイアウトを持っています。 3人は赤、緑、青の景色があります。グリッドのセルの中心に揃えるようにします。私のレイアウトは以下の通りですが、layout_gravityをすべてのビューに対して中央として配置しても、ビューは左上に配置されます。どうすればこの問題を解決できますか?GridLayoutセンターのグリッドセルでビューを揃える方法は?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.elyeproj.griddrag.MainActivity">
<GridLayout
android:id="@+id/container_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal">
<View
android:id="@+id/view_red"
android:layout_height="100dp"
android:layout_width="100dp"
android:layout_gravity="center"
android:background="#ff0000" />
<View
android:id="@+id/view_green"
android:layout_height="100dp"
android:layout_width="100dp"
android:layout_gravity="center"
android:background="#00ff00" />
<View
android:id="@+id/view_blue"
android:layout_height="100dp"
android:layout_width="100dp"
android:layout_gravity="center"
android:background="#0000ff" />
</GridLayout>
</RelativeLayout>
素晴らしい!残念ながら、それはAPI21でのみ動作します:(。以前のバージョンをサポートしたい場合はどうすればいいですか? – Elye
はい、下位APIの場合は、Javaコードで行う必要があります。GridLayoutのサイズを計算してから、 )を使用するのではなく;)有用であれば回答を受け入れる –
21の下のより良い解決方法については、このページを参照してください:http://stackoverflow.com/questions/10016343/gridlayout-not-gridview-how-to-stretch-all -children-evenly –