屏蔽RecyclerView單邊滑動到頭陰影(fadingEdge)的方法
前言
RecyclerView 是一個增強版的ListView,不僅可以實現(xiàn)和ListView同樣的效果,還優(yōu)化了ListView中存在的各種不足之處
ResyslerView 能夠實現(xiàn)橫向滾動,這是ListView所不能實現(xiàn)的
目前官方更加推薦使用RecyclerView.
場景:
由于在某些產品需求下,希望RecyclerView滑動到底部時顯示到頭陰影,但由于頂部是下拉刷新控件而不希望顯示頂部的fadingEdge。
做法:
通過閱讀RecyclerView的源碼實現(xiàn),我們發(fā)現(xiàn)沒有暴露的方法可被調用或重載,故采用反射的方式實現(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)方案,歡迎討論。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Android應用中clearFocus方法調用無效的問題解決
clearFocus()主要用于清除EditText的焦點,Android App開發(fā)中很多時候會發(fā)現(xiàn)其調用無效,帶著這個問題我們就來看一下本文主題、Android應用中clearFocus方法調用無效的問題解決2016-05-05
Android?ViewModel創(chuàng)建不受橫豎屏切換影響原理詳解
這篇文章主要為大家介紹了Android?ViewModel創(chuàng)建不受橫豎屏切換影響原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
DCloud的native.js調用系統(tǒng)分享實例Android版代碼
本文為大家分享了DCloud的native.js如何調用系統(tǒng)分享功能Android版的實例代碼,直接拿來就用2018-09-09
Ubuntu中為Android HAL編寫JNI方法提供JAVA訪問硬件服務接口
本文主要介紹Ubuntu中為Android硬件抽象層模塊編寫JNI方法提供Java訪問硬件服務接口,這里給大家詳細說明如何編寫 JNI方法訪問硬件接口并附示例代碼,有需要的小伙伴參考下2016-08-08
Kotlin中ListView與RecyclerView的應用講解
這篇文章主要介紹了Kotlin中ListView與RecyclerView的應用講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-09-09

