将触摸事件用于自定义视图,而不会干扰用户的触摸事件

问题描述 投票:0回答:1

我为自定义视图创建一个库。我使用OnTouchListener()处理自定义触摸事件,但是我希望用户能够设置自己的OnTouchListener()。我该如何处理?!

android android-custom-view touch-event ontouchlistener custom-view
1个回答
0
投票

您应该重写onTouchEvent()以获取自定义视图

@Override
public boolean onTouchEvent(MotionEvent event) {
    Toast.makeText(this.getContext(), "Touched layout", Toast.LENGTH_SHORT).show();
    Log.d("TOUCH", "Touched layout");

    return super.onTouchEvent(event);
}

根据官方文档

onTouch()-这将返回一个布尔值,以指示您的侦听器是否使用此事件。重要的是,此事件可以有多个彼此跟随的动作。因此,如果在收到按下动作事件时返回false,则表明您尚未消耗该事件,并且也对该事件的后续动作不感兴趣。因此,不会在事件内要求您进行其他任何操作,例如手指手势或最终的上动作事件。

© www.soinside.com 2019 - 2024. All rights reserved.