2017年1月14日土曜日

Android の GridLayout概要

目次へ



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>


上のような指定をした場合、次のような画面が表示されます。



にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村

1 件のコメント:

  1. はじめまして。EaseUS SotwareのTeiと申します。
    失礼ですが、メールアドレスなどのご連絡先をいただけませんでしょうか。
    弊社の復元ソフトのレビューのご執筆をお願いしたいんですが…
    恐縮ですが、メルアド:teiisyou@easeus.comまでご連絡いただけませんでしょうか。

    お手数ですが、ご覧になったら、このコメントを削除していただけませんか。

    返信削除