我调查了拖放,发现Container的drop方法将容器组件洗牌。
这让我问自己:如果在继续拖延的同时连续发生下降,那将不会很好。
所以我做到了 - 只会产生奇怪的结果。显然它会进入拖动组件不再被绘制的状态,并且在释放指针时不会调用拖动组件的dragFinished方法。
请帮助我了解那里出了什么问题。
以下是代码:
public function report(Exception $e)
{
// Will only enter if statement if request has a user
if ($user = request()->user()) {
app('sentry')->set_user_data($user->getAuthIdentifier(), $user->email);
}
app('sentry')->captureException($e);
return parent::report($e);
}
答案 0 :(得分:0)
如果您有一些待处理的动画,则删除/添加可能会创建动画并推迟删除/添加之类的操作以防止多个动画之间发生冲突。在添加/删除之前,您应该始终检查组件的实际状态。
答案 1 :(得分:0)
好的,我尝试做的事现在还不能完成,原因如下:
com.codename1.ui.Container.drop(Component, int, int)
间接导致变量Form.dragged
设置为零,从而导致拖动被中断 - 请参阅问题https://github.com/codenameone/CodenameOne/issues/1992 com.codename1.ui.AnimationManager.isAnimating()
返回false,则表示没有动画正在进行中,请参阅问题https://github.com/codenameone/CodenameOne/issues/1993 com.codename1.ui.Component.dragFinishedImpl(int, int)
使用屏幕坐标滚动放置目标容器,这通常会导致使用可滚动容器产生奇怪的结果 - 请参阅问题https://github.com/codenameone/CodenameOne/issues/1994 很难找到上述内容的解决方法,因为通常只存在私有或包私有访问,而Codename One不支持类的遮蔽。
另一方面,我对Codename One不太熟悉,不能自己做出适当的更改并发布拉取请求。