天天看點

android 自定義gallerey并實作預覽功能

自從gallery被谷歌廢棄以後,google推薦使用viewpager和horizontalscrollview來實作gallery的效果。的确horizontalscrollview可以實作gallery的效果,但是horizontalscrollview存在一個很大的問題,如果你僅是用來展示少量的圖檔,應該是沒問題的,但是如果我希望horizontalscrollview可以想viewpager一樣,既可以綁定資料集(動态改變圖檔),還能做到,不管多少圖檔都不會oom(viewpager内部一直初始化,回收,至多隻保持3個view)。本篇部落格首先介紹horizontalscrollview的簡單用法,然後會在此基礎上進行擴充,自定義horizontalscrollview實作我們上面提到的效果,類似一屏可以顯示多個view的viewpager,再多的圖檔也不怕oom。

首先差一張圖檔

android 自定義gallerey并實作預覽功能

自定義horizontalscrollview

思想:

1、首先根據螢幕的大小和item的大小,計算可以一個螢幕最多可以加載多少個item,然後加載該數量item。

2、當使用者右滑(從右向左),滑動到一定距離時,加載下一張,删除第一張

3、當使用者左滑(從左向右),滑動到一定距離時,加載上一張,删除最後一張

接下來我們寫一個adapter用來填充界面,然後在我們首頁組裝下資料,設定下擴充卡就好了,是不是很簡單。

有興趣的可以下載下傳代碼:

https://github.com/xiangzhihong/gallery

繼續閱讀