1. 程式人生 > >Android仿微信首頁下拉顯示小程式列表

Android仿微信首頁下拉顯示小程式列表

花點時間重新熟悉一下AndroidUI方面的東西,把古董PullToRefreshView又擼了一遍,技術這種東西真是忘得快啊...在基礎上新增一點東西,粗糙地實現了仿微信首頁下拉顯示小程式列表的樣式,是的,粗糙粗糙...

PullToRefreshView原始的實現思路:

1.垂直方向的LinearLayout由三部分組成Header+ScrollableContent+Footer。

2.在載入XML前addview(Header),並且設定Header的marginTop=-Header高度,即Header並隱藏在螢幕上方。

3.在載入完XML後onFinishInflate()內addView(Footer),只要content高度是全屏,footer就會被擠到螢幕下方隱藏。

4.在事件攔截方法中判斷是否攔截,兩種情況:

(1)向下拉動&content與螢幕頂部相切(中間內容滑到頭了還想滑)

(2)向上滑動&content與底部相切(滑到低了還向上滑)

5.在事件處理方法中處理攔截的事件,PRV下拉上滑是通過設定Header的marginTop值來實現的,

 對於4(1),計算滑動距離設定margin值,將marginTop拉出,全顯示時狀態標記為鬆開即重新整理。

 對於4(2),將margin值繼續負增長,則footer自然被引出,全顯示時標記可載入。

6.資料載入完後取消動畫及重新隱藏佈局。

 

搞清楚這些再想如何粗糙實現仿微信就簡單了:

1.在Header內頭部新增小程式列表佈局,下拉到一定距離就能看到

2.適當的狀態下全顯Header,設Header高度H

(1)原來鬆開重新整理的區域1/2H~2/3H,超過2/3H狀態改為鬆開檢視小程式

(2)嗯

3.攔截事件中多處一個上滑推起小程式的判斷

。。

寫得很粗糙,就當是自己的筆記吧

原始碼:https://gitee.com/ken1/MyPubApplication.git