当前位置: 首页 > 面试题库 >

Android-如何处理两指触摸

姜松
2023-03-14
问题内容

该文档说明了这一点:

手势始于带有ACTION_DOWN的运动事件,该事件提供了下一个指针的位置。随着每个其他指针的下降或上升,框架将分别生成带有ACTION_POINTER_DOWN或ACTION_POINTER_UP的运动事件。

所以我在活动中完成了onTouchEvent函数的替代:

@Override
public boolean onTouchEvent(MotionEvent MEvent) 
{

    motionaction = MEvent.getAction();

    if(motionaction == MotionEvent.ACTION_DOWN)
    {
        System.out.println("DEBUG MESSAGE POINTER1 " + MEvent.getActionIndex() );
    }

    if(motionaction == MotionEvent.ACTION_POINTER_DOWN)
    {
        System.out.println("DEBUG MESSAGE POINTER2 "  + MEvent.getActionIndex() );
    }

}

不幸的是,如果没有输入第二个。该活动包含2图2 OnTouchListener ,我知道 的onTouchEvent
仅在活动的看法不消耗事件,所以我试图在听者返回false并以这种方式,我可以只认第一手指被调用,但这样可以避免听众接收到ACTION_UP事件,并且不允许我识别出第二指触摸。我还尝试在侦听器中返回true,但是在手动调用onTouchEvent函数之后,但这也使我也只能识别第一指触摸。

我的代码有什么问题?


问题答案:

我相信您的代码缺少像这样的屏蔽操作:

switch (motionaction & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_POINTER_DOWN:
}

此代码应能够检查ACTION_POINTER_DOWN。

祝你好运,并告诉我们会发生什么。

汤米·奎



 类似资料:
  • 问题内容: 好吧,所以我有4个图像视图。 当他们按下和向上时,我如何控制会发生什么 因此说: 其中一张图像被按下,textview变为1,但是当它们放开时,文本将变为0? 问题答案: 您需要使用OnTouchListener并让它在您的上监听。 例如: 这是一个看起来像的例子:

  • 问题内容: 我正在尝试做类似于嵌入式Google地图的操作。我的组件应忽略单点触摸(允许用户滚动页面),并在其自身外部捏合(允许用户缩放页面),但应对双键触摸做出反应(允许用户在组件内部导航),并在这种情况下禁止任何默认操作。 如何防止触摸事件的默认处理,仅在用户用两只手指与我的组件进行交互的情况下? 我尝试过的 我尝试捕获,和。事实证明,在FF Android上,对部件进行捏合时触发的第一个事件

  • 问题内容: 我正在开发一个Android应用程序,希望在其中滑动手指即可滑动图像。我已经实现了可以滑动图像的,但是我不知道如何实现手指触摸功能。 请给我建议任何方法,如何用手指滑动图像。任何建议或任何教程或方法都将有所帮助。 问题答案: 您可以使用onTouchListner方法代替onClickListner。下面给出了onTouchListners示例。

  • 问题内容: 我在非Java和非Android领域拥有扎实的经验,正在学习Android。 我对不同领域有很多困惑,其中之一就是如何处理按钮单击。至少有4种方式(!!!),此处简要列出 为了保持一致性,我将列出它们: 在活动中具有该类的成员,并将其分配给将处理活动方法中的逻辑的实例。 在“ onCreate”活动方法中创建“ onClickListener”,然后使用setOnClickListen

  • 为了保持一致,我将列出它们: > 在活动中拥有类的成员,并将其分配给将在活动方法中处理逻辑的实例。 在'on Create'活动方法中创建'on ClickListener',并使用setOnClickListener将其分配给按钮 附言。我试着用谷歌搜索这个主题,但我找到的唯一的东西是描述“如何”做到这一点,而不是为什么它是好是坏。