2011年1月31日月曜日

【Android2.2以上】 GridView,ListViewでドラッグ&ドロップ、自動スクロールもする。動画もあるよ。

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

ユーザがソート可能なListViewをすこしリッチにしてみた - 明日の鍵
などを参考にして作成しました。
最近でてる端末って大体Android2.2なんで、2.2以上です。
というのは自動スクロールの為のAbsListView#smoothScrollBy (int distance, int duration)のAPI Levelが8だったからです。
スクロールの処理はあまり格好良くないですが許して下さい。

SortableListViewLayoutというクラスがキモです。
LinearLayoutを継承していて、これの中にandroid:id="@+id/listview"なAbsListView系を置いておくとほぼ勝手にドラッグ&ドロップ可能なListViewになります。
ソース公開するのでもう詳細は読んで下さい。

動画がこちら(画質悪いなー)
サンプルは端末内にインストールされているアプリのアイコンと名前を一覧で出すようになってます。
ListView系はデータ表示にAdapterを使いますが、個人的にSimpleAdapterとViewBinderのコンボばっか使ってます。超便利です。


ソースはこちらの
SortableGridView.zip
SortableListView.zip
です。

1 件のコメント:

  1. ListViewでドラッグアンドドロップのコードはよく見ますが、GridViewを使ったものを探していたらこのサイトにたどり着きました。
    ありがとうございます。

    返信削除