RecyclerView巢狀滑動衝突處理

2021-07-25 07:55:13 字數 988 閱讀 1055

在縱向recyclerview巢狀橫向recyclerview時,如果縱向recyclerview有下拉重新整理功能,那麼內部的橫向recyclerview的橫向滑動體驗會很差.(只有純橫向滑動時,才能滑動內部的橫向recyclerview,否則滑動事件就會影響到下拉重新整理),新增攔截判斷.

public

class

myswiperefreshlayout

extends

swiperefreshlayout

public

myswiperefreshlayout(context context, attributeset attrs)

@override

public

boolean

onintercepttouchevent(motionevent ev)

// 獲取當前手指位置

float endy = ev.gety();

float endx = ev.getx();

float distancex = math.abs(endx - startx);

float distancey = math.abs(endy - starty);

// 如果x軸位移大於y軸位移,那麼將事件交給viewpager處理。

if (distancex > mtouchslop && distancex > distancey)

break;

case motionevent.action_up:

case motionevent.action_cancel:

// 初始化標記

misvpdragger = false;

break;

}// 如果是y軸位移大於x軸,事件交給swiperefreshlayout處理。

return

super.onintercepttouchevent(ev);

}}

RecyclerView 側滑刪除實現 一

前段時間因為專案需求,實現乙個側滑刪除的功能,就自己實現了乙個。這篇部落格要介紹的是側滑的一些基礎知識,也是在實際的開發過程中,較難以理解的部分。一.關於view 的 scrollto,getscrollx 和 getscrolly 當利用 scroller 去滑動螢幕或者擴充套件 scrollvi...

RecyclerView讓列表巢狀如此簡單

平常開發時,相信像這樣的頁面,大家一定是遇到過的。這裡比較坑爹的地方在於呢 列表巢狀。訂單列表中的每一項,都包含乙個商品列表。像這種需求,大家會如何實現呢?這裡呢,說一下我自己的思路,我沒有使用列表巢狀,而是,將原有的order拆分成了三個布局型別 head body foot,乙個body就是乙個...

touch左滑右滑

原理 1 當開始乙個touchstart事件的時候,獲取此刻手指的橫座標startx和staery 2 當觸發touchmove事件的時候,再獲取此時手指的橫座標moveendx和縱座標moveendy 最後,通過兩次獲取的座標差值來判斷手指在手機螢幕上的滑動方向。body on touchstar...