前言
RecyclerView 是一個增強版的ListView,不僅可以實現(xiàn)和ListView同樣的效果,還優(yōu)化了ListView中存在的各種不足之處
ResyslerView 能夠?qū)崿F(xiàn)橫向滾動,這是ListView所不能實現(xiàn)的
目前官方更加推薦使用RecyclerView.
場景:
由于在某些產(chǎn)品需求下,希望RecyclerView滑動到底部時顯示到頭陰影,但由于頂部是下拉刷新控件而不希望顯示頂部的fadingEdge。
做法:
通過閱讀RecyclerView的源碼實現(xiàn),我們發(fā)現(xiàn)沒有暴露的方法可被調(diào)用或重載,故采用反射的方式實現(xiàn)。
代碼如下:
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(); } } });如有其他更優(yōu)方案,歡迎討論。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。
新聞熱點
疑難解答