天天看點

仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作

<a href="http://blog.csdn.net/qq_26787115/article/details/51026259">仿百度桌面用戶端(一)——主架構搭建,自定義tab + viewpager + fragment</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51031034">仿百度桌面用戶端(二)——首頁自定義viewpager廣告定時輪播圖</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51049195">仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51079824">仿百度桌面用戶端(四)——自定義上拉加載實作精選桌面牆</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51104410">仿百度桌面用戶端(五)——實作搜尋動畫gesturedetector手勢識别,動态更新搜尋關鍵字</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51105999">仿百度桌面用戶端(六)——完結篇之gallery畫廊實作桌面預覽已經項目細節優化</a>
上回把廣告輪播圖給實作了,今天就來把首頁的大部分功能給實作了
我們仔細想想,我們的首頁架構,首先他是上下滑動的,是以這樣要一個scrollview,然後就是輪播圖和其他内容了,這樣的話,上下滑動有事件,輪播圖也有事件,我們先看下xml的實作原理
這裡很清晰的可以看出層級關系了,他事件沖突時必然的,解決辦法也是很簡單,就單以這個架構來講的話,其實隻要判斷他是上下滑動還是左右滑動就好,如果是左右滑動,就不給scrollview傳遞事件了,如果是上下滑動的話,讓scrollview自身來處理了,是以我們需要重寫scrollview
ok,我們運作一下
仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作
關鍵是把邏輯處理好
我們可以看看百度桌面的效果,我們也來實作一下
仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作
我們要實作的就是下面的一個桌面清單,這裡我們就要考慮一下了,怎麼去實作,實際上,不管是scrollview還是gridview他們都是記憶體超出螢幕才回去執行滑動事件,這樣的話,我們自定義一個gridview把高直接寫好就可以了
然後我們就可以寫布局了
現在觸摸事件已經ok了
這裡我們沒有借口,就使用本地的桌面了,但是完全都是按照網絡請求操作來的,這裡使用的解析圖檔的開源看是smartimageview 既然要使用gridview,那就必須要有一個實體類和一個item吧
然後我們回到homefragment中,我們定義一個方法initgriddata
現在可以定義一個adapter了
寫到這裡,基本上就可以看到效果了
仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作
但是還是有一些細節需要處理的,比圖scroolview一進來需要復原到第一行
看代碼應該就能看的很清晰了吧,我們來示範一下
仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作
有一點小粗糙,這就需要各位自己去完善了
我們滑動到最後會發現,有一個意見回報,我們去實作它
仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作
在這裡我們先不做跳轉,先隻是十點他的點選效果吧,也是相當點選簡單,我們隻要在disgridview加上一個布局
仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作
就可以了,這裡我們還要實作它的點選效果
讓我們來運作一下吧
仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作仿百度桌面用戶端(三)——首頁單向,雙向事件沖突處理,桌面清單的實作
這裡我把完整的homefragment貼上,就不上傳源碼了
好了,我們首頁就已經做好了,是不是非常的簡單尼?在我們的分析之後,其實這個軟體也就那麼回事哈

繼續閱讀