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.攔截事件中多處一個上滑推起小程式的判斷
。。
寫得很粗糙,就當是自己的筆記吧