AndroidでGrid表示

AndroidでGrid表示

AndroidでGrid表示するには
GridViewにデータを保持するAdapterを設定することで
画面スクロール可能なGrid形式のリストを表示できる

使い方によっては
ホーム画面のように、アイコンだけのUIを作るときにも使える

食べログのAndroidアプリの画面のようなかんじになる

カレンダーのように使うことも可能

GridViewは
グリッド状にリスト表示するためのViewで
画像viewerのように
データを升目のように並べて表示できる

これを行うには、まずレイアウトファイルでGridViewを設定

<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="4"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"/>

android:numColumns=””
は、1行に表示するアイテムの数
つまり表示する画像やアイコンの数になる

android:verticalSpacing=””
は、アイテムどうしの幅、つまり画像やアイコンの縦の幅になる

同様に
android:horizontalSpacing=””
はアイコンどうしの縦幅になる

これで設定はできたので
Adapterの設定をJavaで行う

GridViewのインスタンスを取得し
データを設定したAdapterを設定する

GridView grid = (GridView)findViewById(R.id.grid);

//Adapterの作成
ListAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,WEEK);

//Adapterの設定
grid.setAdapter(adapter);


//GridViewに表示する文字列
private static final String[] WEEK = new String[]{
"月","火","水","木","金","土","日"
};

これで、カレンダーのように
GridViewへ曜日が表示される

GridViewに指定するAdapterは
ListViewと同じものを使える

GridViewは、ListViewと同じ抽象クラスを継承しているため
多くの面で共通の処理を実装できる

ただし、GridViewは複数行を表示するという特徴があるため
いくつかの注意点がある

GridViewはListViewよりも表示アイテムが多くなるため
パフォーマンスに気をつける必要がある

また、ListViewでは
項目を指定してスクロールできるけど
GridViewではできないため
スクロール位置の配置に注意する必要がある

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です