Codenameone 拖动南部容器会错误地传播到中心容器中的基础元素

Codenameone 拖动南部容器会错误地传播到中心容器中的基础元素,codenameone,Codenameone,我有一个BorderLayout内容窗格。在中心有一个元素列表,所有元素都是SwipeableContainer,在南部,还有另一个SwipeableContainer。南部容器当然位于中心列表的“顶部”,但即使如此,当我滑动南部滑动表时,底层(半隐藏)滑动表也被滑动。因此,看起来拖动事件被传播到下面的列表中,即使不应该 下面的示例对此进行了说明:运行代码并向左拖动“SOUTH容器”,其下方的“ListElement”容器也将向左滑动 为了确保看到问题,请在SOUTH容器的顶部滑动(因此指针也位

我有一个BorderLayout内容窗格。在中心有一个元素列表,所有元素都是SwipeableContainer,在南部,还有另一个SwipeableContainer。南部容器当然位于中心列表的“顶部”,但即使如此,当我滑动南部滑动表时,底层(半隐藏)滑动表也被滑动。因此,看起来拖动事件被传播到下面的列表中,即使不应该

下面的示例对此进行了说明:运行代码并向左拖动“SOUTH容器”,其下方的“ListElement”容器也将向左滑动

为了确保看到问题,请在SOUTH容器的顶部滑动(因此指针也位于最低可见ListElement的上方),否则滑动的可能是完全隐藏的ListElement

我猜这是一个bug(我不认为拖动会影响部分“隐藏”在可视拖动元素下面的元素),但如果不是,我希望您能提供一些信息,说明如何避免它,因为它在视觉上非常令人不安

//TEST: SWIPEABLE CONTAINER ALSO SWIPES UNDERLYING CONTAINER AS WELL
  Form hi = new Form("Welcome", new BorderLayout());
  Container list = new Container(BoxLayout.y());
  for (int i = 0; i < 20; i++) {
     SwipeableContainer swip = new SwipeableContainer(null, new Label("SWIPE"), new SpanLabel("ListElement " + i + " + a lot of fill text to make the element span over several lines so the dragging of the underlying Swipeable is normally noticeable"));
    list.add(swip);
  }
  list.setScrollableY(true);
  Container cont = hi.getContentPane();
  cont.add(BorderLayout.CENTER, list);
  SwipeableContainer swip = new SwipeableContainer(null, new Label("SOUTHSWIPE"), new Label("SOUTH CONTAINER"));
  cont.add(BorderLayout.SOUTH, swip);
  hi.show();
//测试:SWIPEABLE容器也会滑动底层容器
表单hi=新表单(“欢迎”,新边框布局());
容器列表=新容器(BoxLayout.y());
对于(int i=0;i<20;i++){
SwipeableContainer swip=新的SwipeableContainer(空,新标签(“SWIPE”),新的span标签(“ListElement”+i+“+大量填充文本,使元素跨越多行,因此底层Swipeable的拖动通常是明显的”);
列表。添加(swip);
}
list.setScrollableY(真);
容器cont=hi.getContentPane();
继续添加(BorderLayout.CENTER,列表);
SwipeableContainer swip=新SwipeableContainer(空,新标签(“南Swipe”)、新标签(“南集装箱”);
继续添加(BorderLayout.SOUTH,swip);
嗨,show();

这是一个bug,但看看代码,我很难确定如何修复它,因为代码没有预见到这种布局。我们可能需要创建一个特殊的案例来处理这种类型的布局。我建议用测试用例代码在问题跟踪器中提交一个问题。

这是一个bug,但看看代码,我很难确定如何解决这个问题,因为代码没有预见到这种布局。我们可能需要创建一个特殊的案例来处理这种类型的布局。我建议使用测试用例代码在问题跟踪器中归档问题。

谢谢,我创建了问题,并添加了如何解决问题的想法Hanks,我创建了问题,并添加了如何解决问题的想法