文章來源:中國軟工亞洲指揮中心(Steins;Gate)
共同做者:紀神,爵爺,老闆,小男孩(按首字拼音排序)
責任編輯:爵爺android
終於開始了正式的開發工做。鑑於團隊以前多少有點開發經驗,不少界面寫起來並無什麼阻滯,但因爲咱們都沒有深刻系統學習過Android架構和API,因此在有些細節上老是會有不到位的地方。git
就拿筆者來講,雖然能照葫蘆畫瓢實現指定的界面和效果,可是總會在一些細微的地方卡住。如經過ViewPager實現SwipeView的解決方案中,ViewPager會時刻保留兩個Fragment的View(此處存疑,只是實際操做的狀況,並無查閱過源碼),其餘的Fragment的view會被destroy掉。被destroyView的Fragment全部的控件都被「下架」,可是實例會被保留,那麼對於EditText和RadioButton之類的控件而言,其內容是不會被保存的,除非單獨設置變量保存或者放在savedInstanceState中。筆者在這裏就卡了好久,又複習了一遍Activity和Fragment的生命週期,而且簡單查看了一下ViewPager的源碼,才解決了相關的問題。github
在實現新聞列表的時候,因爲須要上拂加載更多的效果,考慮現有開源方案太過龐大,因此筆者就手寫了一個實現。由於新API強迫症,使用了RecyclerView而不是ListView。RecyclerView效率更高,功能更強大,操做也更靈活,可是少了諸多限制也就少了一些方便。如RecyclerView沒有OnItemClickListener,筆者就往Adapter裏扔了個回調,監聽每一個條目的點擊事件。又如RecyclerView沒有默認分隔線,這是能夠理解的,由於要同時實現ListView、GridView以及瀑布流的效果。關於添加分割線的方案,鴻洋大大給出了一篇很是精彩的博文Android RecyclerView 使用徹底解析 體驗藝術般的控件,可是因爲代碼仍是過多,因此筆者本身用代碼模擬.9圖片實現了分隔線效果,就過程而言要簡潔的多(固然功能不夠強大,具體見Android使用RecyclerView分隔線問題)。算法
相似的問題還有不少,雖然都不算是大坑,可是有些地方仍是挺絆腳的。如今儘可能剋制不去過於關注細節,先把大框架作出來,再進行優化工做。數據庫
貼出下一週的任務安排:微信
老闆:架構