gpt4 book ai didi

android - 为什么不同的设备有不同的 Action_mask 值

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

我制作了一个应用程序,它在版本 4.0 或我们可以说是 ics 的设备上运行得非常好,但在 ics 之上它不能正常工作。在我的应用程序中,我试图同时在两个按钮上进行多点触控,并且它在 4.0 版以下运行完美。action_mask 的值在触摸和非触摸时是第 6 个 5。而在 4.0 以上的版本中它是 1、2、0。这是为什么?

enter code here

@override
public boolean ontouch(Event ev , MotionEvent event)
{
int actionResolved = event.getAction() & MotionEvent.ACTION_MASK;
int action = paramMotionEvent.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK;
// int actionShift = paramMotionEvent.getAction() & MotionEvent.ACTION_POINTER_INDEX_SHIFT;
Log.i("fil", "action resolved" +actionResolved);
if(i==MotionEvent.ACTION_DOWN)
{

Log.i("fil", "action down");
Log.i("fil", "action down value" +MotionEvent.ACTION_DOWN);
}


if(actionResolved == 5);
{

Log.i("fil", "action resolved" +actionResolved);
scannerview1.startAnimation(anim1);
scannerView2.startAnimation(anim1);




}


if(actionResolved ==6)
{

scannerView2.clearAnimation();
scannerview1.clearAnimation();
}


return true;
}

最佳答案

我已经通过在 action down 中使用指针 id 解决了上述问题。但此代码在 4.0 版本以下不可用

这是我的代码

@override
public boolean ontouch(Event ev , MotionEvent event)
{
switch (event.getAction() & MotionEvent.ACTION_MASK)
{
case MotionEvent.ACTION_DOWN:
Log.i("D3", "pid" +event.getPointerId(0));
//Log.i("D3", "pid" +event.getPointerId(1));
if(event.getPointerId(0)==0){

}
if(event.getPointerId(0)==1)
{
scannerview1.startAnimation(anim1);
scannerView2.startAnimation(anim1);
}
break;
case MotionEvent.ACTION_UP:
scannerView2.clearAnimation();
scannerview1.clearAnimation();
break;
}
return true;
}

关于android - 为什么不同的设备有不同的 Action_mask 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15171521/

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