2014年10月25日土曜日

[android] GridView(ListView)を水平スクロールする

androidで「GridView(ListView)を水平スクロール」したかったんです。
①HorizontalScrollView内にLinearLayoutかなにかを置いてさらにその中にGridViewをいれる。コードで要素数に合わせて列数を計算したり、幅を計算したりする。
two-way-gridview を使う
Galleryを使う(This class was deprecated in API level 16.)

いずれもすばらしい方法です。私には思いつきもしませんでした。
敬意を表します。

第4の選択肢がでてきました。
Designに書いてある順に自然と並ぶのもGoodです。
RecyclerViewを使う」です。
RecyclerViewには、setLayoutManager(RecyclerView.LayoutManager layout)というメソッドがあるのですが、ここの引数に、
new StaggeredGridLayoutManager(int, StaggeredGridLayoutManager.HORIZONTAL)を指定するんです。一番目の引数が行数となります。

こんなのができました。
行数=3にしています。
サムネイル画像をタップすると、大きな画像を取得して表示します。


Creating Apps with Material Designここを参考にしました。
さらにDisplaying Bitmaps Efficientlyで勉強したこともまぜこんでみました。
GitHubに置いておきます。
jp.torifuku.ui. TorifukuAdapterとそれを呼び出している
jp.torifuku.recyclerviewsample. MyFragment#onCreateView()あたりがポイントです。
ぜひ読書日記の見た目をよくしていきたいものです。
(いつのことになるのやら?)




0 件のコメント:

コメントを投稿