前言
RecyclerView 是一個增強版的ListView,不僅可以實現和ListView同樣的效果,還優化了ListView中存在的各種不足之處
ResyslerView 能夠實現橫向滾動,這是ListView所不能實現的
目前官方更加推薦使用RecyclerView.
場景:
由于在某些產品需求下,希望RecyclerView滑動到底部時顯示到頭陰影,但由于頂部是下拉刷新控件而不希望顯示頂部的fadingEdge。
做法:
通過閱讀RecyclerView的源碼實現,我們發現沒有暴露的方法可被調用或重載,故采用反射的方式實現。
代碼如下:
mRecyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); EdgeEffectCompat mTopGlow = null; try { Field topGlow = mRecyclerView.getClass().getDeclaredField("mTopGlow"); if (topGlow != null) { topGlow.setAccessible(true); mTopGlow = (EdgeEffectCompat) topGlow.get(mRecyclerView); } } catch (Exception e) { e.printStackTrace(); } if (mTopGlow != null) { mTopGlow.setSize(0, 0); mTopGlow.finish(); } } });如有其他更優方案,歡迎討論。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答