我有两个视图,较大的一个在底部,较小的一个在顶部。如下图所示:
现在我在 view1(view2 外部)上按鼠标,然后移动到 view2。我发现即使鼠标在移动过程中位于view2内部,view2也不会得到ACTION_MOVE
事件。只有view1可以获取到。
我想要的是:
当鼠标位于view1内部且view2外部时,让view1处理ACTION_MOVE
事件。如果鼠标移动到 view2 中,则让 view2 处理ACTION_MOVE
event.
怎么做?
PS:安卓版本是2.x
这是不可能的,但你可以做一些其他的事情:
获取鼠标和view2的坐标,如果鼠标在view2的范围内,尝试你想要的。或者如果你想要,你可以调用view2.onTouch
直接方法,为V2创建一个touchlistener类,例如V2TouchListener
then:
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;
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)