Dav*_*vid 1 android drag-and-drop view touch-event viewgroup
我有一个自定义视图,我称之为"节点",它是一个名为"NodeGrid"的自定义ViewGroup的子节点."NodeGrid"类更具体地扩展了RelativeLayout.
我在自定义视图类("Node")中有以下代码片段:
private boolean isBeingDragged = false;
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
isBeingDragged = true;
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
isBeingDragged = false;
}
else if (event.getAction() == MotionEvent.ACTION_MOVE)
{
if (isBeingDragged)
{
float xPosition = event.getX();
float yPosition = event.getY();
//change the x and y position here
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
问题:
在这段代码中有设置断点后,它似乎像的onTouchEvent获取调用只为MotionEvent.ACTION_DOWN情况下,而不是任何的另外两起案件("动作"或"动作移动").有没有人知道可能导致这种情况发生的任何事情?
另外(可能是相关的):
不要紧,如何视图被添加到一个ViewGroup?我注意到除了"addView"之外,还有其他方法可以将子项添加到ViewGroup,例如"addFocusables"和"addTouchables".现在我只是使用"addView"将子视图添加到ViewGroup.