如何在android中禁用双指触摸布局
我在下面尝试通过放入片段布局来禁用双指触摸,但没有成功如何在android中禁用双指触摸布局,android,android-layout,multi-touch,Android,Android Layout,Multi Touch,我在下面尝试通过放入片段布局来禁用双指触摸,但没有成功android:splitMotionEvents=“false” 我还在清单中尝试了以下操作:无帮助 如果有人知道怎么做,请告诉我。谢谢您可以参考Stackoverflow上已有的答案 您可以参考Stackoverflow上已有的答案 使用以下代码检查运行时多点触摸并禁用它: private SparseArray<PointF> mActivePointers= new SparseArray<PointF>
android:splitMotionEvents=“false”
我还在清单中尝试了以下操作:
无帮助
如果有人知道怎么做,请告诉我。谢谢您可以参考Stackoverflow上已有的答案
您可以参考Stackoverflow上已有的答案
使用以下代码检查运行时多点触摸并禁用它:
private SparseArray<PointF> mActivePointers= new SparseArray<PointF>();
yourlayoutname.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int pointerIndex = event.getActionIndex();
// get pointer ID
int pointerId = event.getPointerId(pointerIndex);
// get masked (not specific to a pointer) action
int maskedAction = event.getActionMasked();
switch (maskedAction) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN: {
// We have a new pointer. Lets add it to the list of pointers
PointF f = new PointF();
f.x = event.getX(pointerIndex);
f.y = event.getY(pointerIndex);
mActivePointers.put(pointerId, f);
if (mActivePointers.size() >= 2) {
//DO NOTHING
}
break;
}
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
case MotionEvent.ACTION_CANCEL: {
mActivePointers.remove(pointerId);
break;
}
}
return true;
}
});
private SparseArray mActivePointers=new SparseArray();
yourlayoutname.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
int pointerIndex=event.getActionIndex();
//获取指针ID
int pointerId=event.getPointerId(pointerIndex);
//获取掩码(不特定于指针)操作
int maskedAction=event.getActionMasked();
开关(掩蔽){
case MotionEvent.ACTION\u DOWN:
case MotionEvent.ACTION\u指针\u向下:{
//我们有一个新指针。让我们把它添加到指针列表中
PointF=新的PointF();
f、 x=event.getX(pointerIndex);
f、 y=event.getY(pointerIndex);
mActivePointers.put(pointerId,f);
如果(mActivePointers.size()>=2){
//无所事事
}
打破
}
case MotionEvent.ACTION\u UP:
case MotionEvent.ACTION\u指针\u向上:
case MotionEvent.ACTION\u取消:{
mActivePointers.remove(指针ID);
打破
}
}
返回true;
}
});
使用以下代码检查运行时多点触摸并禁用它:
private SparseArray<PointF> mActivePointers= new SparseArray<PointF>();
yourlayoutname.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int pointerIndex = event.getActionIndex();
// get pointer ID
int pointerId = event.getPointerId(pointerIndex);
// get masked (not specific to a pointer) action
int maskedAction = event.getActionMasked();
switch (maskedAction) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN: {
// We have a new pointer. Lets add it to the list of pointers
PointF f = new PointF();
f.x = event.getX(pointerIndex);
f.y = event.getY(pointerIndex);
mActivePointers.put(pointerId, f);
if (mActivePointers.size() >= 2) {
//DO NOTHING
}
break;
}
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
case MotionEvent.ACTION_CANCEL: {
mActivePointers.remove(pointerId);
break;
}
}
return true;
}
});
private SparseArray mActivePointers=new SparseArray();
yourlayoutname.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
int pointerIndex=event.getActionIndex();
//获取指针ID
int pointerId=event.getPointerId(pointerIndex);
//获取掩码(不特定于指针)操作
int maskedAction=event.getActionMasked();
开关(掩蔽){
case MotionEvent.ACTION\u DOWN:
case MotionEvent.ACTION\u指针\u向下:{
//我们有一个新指针。让我们把它添加到指针列表中
PointF=新的PointF();
f、 x=event.getX(pointerIndex);
f、 y=event.getY(pointerIndex);
mActivePointers.put(pointerId,f);
如果(mActivePointers.size()>=2){
//无所事事
}
打破
}
case MotionEvent.ACTION\u UP:
case MotionEvent.ACTION\u指针\u向上:
case MotionEvent.ACTION\u取消:{
mActivePointers.remove(指针ID);
打破
}
}
返回true;
}
});
您可以在整个屏幕上显示一个手势,并且只允许第一次触摸事件
您可以在整个屏幕上显示一个手势,并且只允许第一次触摸事件