Android 滑動監(jiān)聽的實(shí)例詳解
摘要: ScollBy,ScollTo是對內(nèi)容的移動,view.ScollyBy是對view的內(nèi)容的移動

view,ScollTo是對內(nèi)容的移動(移動到指定位置),view.ScollyBy是對view的內(nèi)容的移動(移動距離)

在次activity中,當(dāng)手指點(diǎn)擊TextView ,此時(shí)是ViewGroup 響應(yīng)還是TextView響應(yīng)呢?
代碼實(shí)踐:
在activity中重寫onTouchEvent():
public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: float rawY = event.getRawY(); float y = event.getY(); Log.i(TAG, "rawY: "+rawY+",____"+y); break; } return super.onTouchEvent(event);}在textView中添加滑動監(jiān)聽:
imageView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: float rawY = event.getRawY(); float y = event.getY(); Log.i(TAG, "imageView_rawY: "+rawY+",____"+y); break; } return false; }});在兩個的返回值都是false時(shí):

先響應(yīng)textView的觸摸事件,在響應(yīng)Activity觸摸事件
當(dāng)activity的觸摸事件返回值為true時(shí):

同上
當(dāng)TextView的觸摸事件返回值為true時(shí):

只響應(yīng)textView的觸摸事件
總結(jié):
OnTouhEvent的返回值 true表示觸摸事件不往上傳遞,消費(fèi)此觸摸事件,false表示繼續(xù)傳遞觸摸事件,不攔斷(也消費(fèi)事件).
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選