2010年12月15日水曜日

[android]ListViewを2列表示にする方法

今まで、ListViewを使用してViewの表示をしていたのですが、
横向き表示の時には2列にしたいと思って方法を探してました。


調べてみると、GridViewっていうのがあるみたい。
参考にさせていただきました。
hyoromoの日記-GridViewを使ってみたよ


使い方は、ListViewとほとんど同じで、
 1.Adapterを用意 (ListViewで使ってるので使い回し可能!)
 2.GridViewの用意
 3.GridViewにAdapterを設定
でいいらしい。


ということでListViewとGridViewの記述の違いだけをメモメモ。


ListViewとGridViewの/layout-land/main.xmlの違い
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent"> 

 <!--ListViewの場合はこっち-->
 <ListView android:id="@+id/list" android:layout_width="wrap_content"
  android:layout_height="wrap_content"> </ListView>

 <!--GridViewの場合はこっち-->
 <GridView android:id="@+id/list" android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:numColumns="2"
  android:stretchMode="columnWidth"
  android:gravity="center" />

</LinearLayout>

srcの違い(のある部分だけ)
// ListView listView;
 GridView gridView;

 // listView = (ListView) findViewById(R.id.list);
 gridView = (GridView) findViewById(R.id.list);

 //listView.setAdapter(mAdapter);
 gridView.setAdapter(mAdapter);

と変更した箇所はたったこれだけで、横表示の時に2行にすることが可能になりました!
ちなみに、縦表示は1行のままにしたいので、
GridViewの android:numColumns="1"とすることで、縦表示は1行にできました!



0 件のコメント:

コメントを投稿