gpt4 book ai didi

Android 触摸事件指针向下

转载 作者:太空宇宙 更新时间:2023-11-03 12:22:23 25 4
gpt4 key购买 nike

您好,我正在尝试检测 2 根手指何时触摸屏幕:

   case MotionEvent.ACTION_POINTER_2_DOWN: {

twoFing=true;
return true;
}

问题在于:

public static final int ACTION_POINTER_2_DOWN

已弃用,文档说:

*getActionMasked() 的常量:非主指针已关闭。使用 getActionIndex() 检索已更改的指针的索引。该索引在 getAction() 返回的未屏蔽操作的 ACTION_POINTER_INDEX_MASK 位中进行编码。*

但我不明白如何使用它...我如何检测到有 2 个指针?如果我尝试 getPointerIndex(),ActionUP 和 DOwn 总是说只有一个指针

非常感谢

编辑:我在这里发布了完整的代码,以便更清楚地了解这个问题。我的代码正在运行,但因为 ACTION_POINTER_2_DOWN 是一个已弃用的值,我想用其他东西替换它,但我不知道如何。

@SuppressWarnings("deprecation")
public boolean onTouch(View v, MotionEvent event) {

switch(event.getAction()){

case MotionEvent.ACTION_DOWN : {
Log.i(TAG, "Action Down");
downX = event.getX(0);
downY = event.getY(0);
return true;
}

case MotionEvent.ACTION_UP: {


upX = event.getX(0);
upY = event.getY(0);

float deltaX = downX - upX;
float deltaY = downY - upY;
Log.i(TAG, "Action UP deltaX="+deltaX+", deltaY="+deltaY);



// swipe vertical?
if(Math.abs(deltaY) > MIN_DISTANCE && twoFing){
twoFing=false;

// top or down
if(deltaY < 0 )
{
if(slide.zoom==1)
slide.zoom=0;
Log.i(TAG, "Going Down zooming in");
//return true;
}
if((deltaY > 0) )
{

if(slide.zoom==0)
slide.zoom=1;
Log.i(TAG, "Going up zoomig out");
//return true;
}

return true;
}
// swipe horizontal?
if(Math.abs(deltaX) > MIN_DISTANCE && !twoFing){

// left or right
if(deltaX < 0) { this.slideToTheLeft(); return true; }
if(deltaX > 0) { this.slideToTheRight(); return true; }
return true;
}

return false;
}

case MotionEvent.ACTION_POINTER_2_DOWN: {

twoFing=true; //inform that the touch was made with 2 fingers
Log.i(TAG, "Action Second pointer down");

return true;
}
}
return false;

最佳答案

我现在正在自己研究指针。你想切换如下

 switch(event.getAction() & MotionEvent.ACTION_MASK);
case MotionEvent.ACTION_POINTER_DOWN:

ACTION_DOWN 大约是第一个手指按下。ACTION_POINTER_DOWN 是关于第二根手指的。

参见 http://www.vogella.com/articles/AndroidTouch/article.html以获得相当清晰的描述。

关于Android 触摸事件指针向下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11630128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com