目次へ
GridLayoutでは、列数、行数を指定しておき、その中に部品を置くと左上から順にWidgetが配置されていきます。 swingのGridLayoutと似た使い方です。
また、行と列を指定して、Widgetを好きな位置に配置することもできます。
■■■■GridLayout例(順番に配置)
レイアウトファイル<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="3" 列数 android:rowCount="3" 行数 android:layout_gravity="center_horizontal">中央揃え <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1" android:onClick="click" このボタンをクリックしたときのメソッド名 /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="2" android:onClick="click" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="3" android:onClick="click" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="4" android:onClick="click" 以下同様に9のボタンまで作成します。 </GridLayout> |
ボタンをクリックしたときのメソッド名をclickとしたので、Activityのクラスの中に
public void click(View v) {・・・}を作成します。
public class GridLayoutTest extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.third); } public void click(View v) { Button b = (Button)v; String s = b.getText()+"がクリックされました"; Toast toast = Toast.makeText(this, s, Toast.LENGTH_SHORT); toast.show(); } } |
上のような指定をした場合、次のような画面が表示されます。

■■■■GridLayout例(行と列を指定して配置)
レイアウトファイル<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="2" android:rowCount="3" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1" /> 行と列を指定していないので先頭 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_row="1" android:layout_column="0" android:text="2" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="3" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_row="2" android:layout_column="1" android:text="4" /> </GridLayout> |
上のような指定をした場合、次のような画面が表示されます。


にほんブログ村