我有两个视图,大的在底部,小的在顶部。在以下图片上显示:
现在我在View1(Outside View2)上按鼠标,然后移动到View2。我发现即使在移动过程中鼠标在view2中,view2也不会得到ACTION_MOVE
事件。只有view1才能得到它。
我想要什么:
当鼠标位于View1内部和View2外部时,让View1处理ACTION_MOVE
事件。如果鼠标移到view2中,则让view2处理ACTION_MOVE
事件。
怎么做?
PS:Android版本是2.x
最佳答案
这是不可能的,但是你可以做一些其他的事情:
获取mouse和view2的坐标,如果mouse在view2的边界内,可以尝试您想要的,或者如果您想要,可以直接调用view2.onTouch
方法,为v2创建一个touchListener类,例如V2TouchListener
然后:
View v2 = ... ;
final V2TouchListener v2t = new V2TouchListener();
v2.setOnTouchListener(v2t);
v1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
// do something
break;
case MotionEvent.ACTION_MOVE:
// do something
//if mouse is in bounds of view2 do this:
//for example view is between x= 20 and x = 50
if((event.getX() < 50) &&(event.getX() > 20) )
v2t.onTouch(v2, event);
break;
}
return false;
}
});
关于android - 鼠标在两个 View 上移动,如何让它们都处理`ACTION_MOVE`事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13530104/