8 滑動事件處理

2022-04-01 03:40:18 字數 3597 閱讀 7540

上面是三個viewpager相互巢狀,這麼就需要對滑動事件進行處理

/**

* 重寫ontouchevent事件,什麼都不用做,不能滑動*/

@override

public

boolean

ontouchevent

(motionevent

arg0

)

// 表示事件是否攔截, 返回false表示不攔截, 可以讓巢狀在內部的viewpager相應左右劃的事件

@override

public

boolean

onintercepttouchevent

(motionevent

arg0

)

接下來2使用自定義viewpager,在第乙個頁面的時候讓父控制項攔截,即顯示出側邊欄,但是3的話是不攔截,讓側邊欄不顯示出來,這樣的話就相互矛盾了,到底是攔截還是不攔截了?

/*** 11個子頁籤水平滑動的viewpager, 暫時不用** @author kevin

*

*/

public

class

horizontalviewpager

extends

viewpager

public

horizontalviewpager

(context

context

)

/*** 事件分發, 請求父控制項及祖宗控制項是否攔截事件

所以不能按上面的第二步這樣寫,我們既想北京出來,又不想讓北京出來

修改:選單詳情頁-新聞(viewpager1),以前是通過horizontalviewpager

來控制,而上面的那個類也不能那樣寫了,看最後乙個

// mviewpager.setonpagechangelistener(this);//注意:當viewpager和indicator繫結時,

// 滑動監聽需要設定給indicator而不是viewpager

mindicator

.setonpagechangelistener

(this

);

@overridepublic

void

onpageselected

(int

arg0

)else

}

/**

* 事件分發, 請求父控制項及祖宗控制項不要攔截事件*/

@override

public

boolean

dispatchtouchevent

(motioneventev)

/*** 頭條新聞的viewpager*/public

class

topnewsviewpager

extends

viewpager

public

topnewsviewpager

(context

context

)

/*** 事件分發, 請求父控制項及祖宗控制項是否攔截事件 1. 右劃, 而且是第乙個頁面, 需要父控制項(mainactivity)攔截,選單就出來了 2. 左劃, 而且是最後乙個頁面, 需要父控制項(viewpager2)攔截,會滑動2的下乙個頁面

* 3. 上下滑動, 需要父控制項攔截

*/

@override

public

boolean

dispatchtouchevent

(motioneventev)

}else

}

}else

break

;

default

:

break

;

}

return

super

.dispatchtouchevent(ev

);

}}

motionevent中getx()和getrawx()的區別

getx是獲取以widget左上角為座標原點計算的x軸座標直.

getrawx 獲取的是以螢幕左上角為座標原點計算的x軸座標直.

當你觸到按鈕時,x,y是相對於該按鈕左上點的相對位置。而rawx,rawy始終是相對於螢幕的位置。

來自為知筆記(wiz)

關於滑動事件

我寫了手機滑動的兩個方法 乙個是向上滑動,乙個是向下滑動 向上滾動 function slideups obj 滑動事件 objs.addeventlistener touchmove function e 滑動結束時判斷向上滑動還是向下滑動 objs.addeventlistener touche...

View的事件體系三 滑動衝突處理

內外滑動方向一致。內外兩層同時能上下滑動,或同時能左右滑動。前面兩種情況的巢狀。如果abs x abs y 認定為上下滑動 x 或 y為正,則滑動方向為右或下 x 或 y為負,則滑動方向為左或上 針對場景2的情況,無法根據滑動向量或速度向量來做判斷。此時只能通過介面內容所呈現的業務來做判斷 比場景2...

android觸控螢幕事件手勢操作滑動處理

在android系統中,手勢的識別是通過 ongesturelistener介面來實現的,利用,摸屏的fling scroll等方法可以進行滑動或翻頁效果的實現 觸控螢幕相關的事件,是通過ontouchlistener來實現的。我們可以通過motionevent的getaction 方法來獲取tou...