在我的应用程序中,我试图同时在两个按钮上进行多点触控,它在4.0以下工作完美.
action_mask的值在触摸和触摸时是6和5 ..而在4.0以上的版本中它的1,2,0.
为什么这个?
enter code here@overrIDepublic 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; }解决方法 我通过在 *** 作中使用指针ID解决了上述问题.
但此代码在版本4.0以下不可用
这是我的代码
@overrIDepublic 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值全部内容,希望文章能够帮你解决android – 为什么不同的设备有不同的Action_mask值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)