天天看點

Android Recyclerview焦點變化問題導緻下拉重新整理視覺卡頓

如題,最近做項目時偶然發現了一個Recyclerview嵌套Recycleview的問題。

業務子產品是訂單清單,涉及到一個訂單包含多個子訂單的情況,是以考慮使用嵌套來展示頁面,這一切都是正常的,沒有任何問題。然而,随着業務的展開需要檢視詳情單個條目的詳情,于是乎startActivity 呗。然後,從下級頁面傳回回到上級頁面後,出現問題了,下拉重新整理卡卡的。具體如下圖:

Android Recyclerview焦點變化問題導緻下拉重新整理視覺卡頓

開始以為是滑動沖突的問題,因為這樣一個背景:recycleview互相嵌套後出現卡頓了 ,讓人很容易去第一時間想到是滑動沖突導緻的。可是在完成這個部分時候我已經把内層的Recycleview的滑動給關閉了,不然在頁面整體滑動的時候應該也會出現這樣的問題,是以這個原因排除。那麼會是神馬造成的呢?

Android Recyclerview焦點變化問題導緻下拉重新整理視覺卡頓

多次反複的玩弄爪機發現了一個疑點:第一次進入頁面的時候,整個頁面是不會出現這個問題的,問題是在頁面跳轉傳回之後出現的,這個就非常奇怪了。于是我又檢視其它子產品的清單:單一沒有嵌套的清單沒有出現任何這樣的問題。是以還是需要回歸嵌套的部分。因為下拉重新整理的時候,手指是滑動了一定距離後,重新整理頭部才出現,也就是重新整理頭部在響應手指滑動的時候出現問題了,會不會是焦點的問題呢?在和同僚讨論過後感覺有可能是這個原因,于是試了試,不讓内部的recycleview的自動擷取焦點:

recycleview.isFocusable = false
recycleview.isFocusableInTouchMode = false
           

重新運作,哇塞~棒棒哒~

Android Recyclerview焦點變化問題導緻下拉重新整理視覺卡頓
Android Recyclerview焦點變化問題導緻下拉重新整理視覺卡頓