屏蔽RecyclerView單邊滑動到頭陰影(fadingEdge)的方法
前言
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)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Android應用中clearFocus方法調(diào)用無效的問題解決
clearFocus()主要用于清除EditText的焦點,Android App開發(fā)中很多時候會發(fā)現(xiàn)其調(diào)用無效,帶著這個問題我們就來看一下本文主題、Android應用中clearFocus方法調(diào)用無效的問題解決2016-05-05Android?ViewModel創(chuàng)建不受橫豎屏切換影響原理詳解
這篇文章主要為大家介紹了Android?ViewModel創(chuàng)建不受橫豎屏切換影響原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03DCloud的native.js調(diào)用系統(tǒng)分享實例Android版代碼
本文為大家分享了DCloud的native.js如何調(diào)用系統(tǒng)分享功能Android版的實例代碼,直接拿來就用2018-09-09朋友圈實現(xiàn)圖片+文字轉(zhuǎn)發(fā)功能(必看篇)
下面小編就為大家?guī)硪黄笥讶崿F(xiàn)圖片+文字轉(zhuǎn)發(fā)功能(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03Ubuntu中為Android HAL編寫JNI方法提供JAVA訪問硬件服務接口
本文主要介紹Ubuntu中為Android硬件抽象層模塊編寫JNI方法提供Java訪問硬件服務接口,這里給大家詳細說明如何編寫 JNI方法訪問硬件接口并附示例代碼,有需要的小伙伴參考下2016-08-08Kotlin中ListView與RecyclerView的應用講解
這篇文章主要介紹了Kotlin中ListView與RecyclerView的應用講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-09-09