1

在此处输入图像描述

我有红色和绿色的LinearLayouts,并为它们设置了ontouch 侦听器。

当我触摸绿色时它变成白色(到目前为止没问题)当我触摸红色时它也变成白色(到目前为止没问题)

问题是当我触摸绿色的手指并将手指拖到红色的手指上时(这意味着我没有松开手指我只是将它移到红色的手指上)然后在这种情况下只有绿色的手指变成白色但没有红色的。

我希望我描述的很好,如果你没有得到我的问题请问我。

谢谢您的帮助

 green.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
             v.setBackgroundColor(Color.WHITE);
            return true;
        }
    });

red.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
         v.setBackgroundColor(Color.WHITE);
        return true;
    }
});
4

1 回答 1

0

这是因为触摸事件在绿色方块上开始,因此移动手指只会调用绿色方块上的触摸事件。您可以尝试将触摸事件发送到代码中的红色方块。但我认为没有标准的做法。

于 2012-03-08T11:23:30.767 回答