代号 一个被拖过来的容器迅速消失
Codename One dragged-over container quickly dissappears
我有一个使用拖放操作的 Android 应用程序。我不经常使用拖放,所以我才刚刚开始了解它们的工作原理以及可能产生的影响。
在我的应用程序中,每当我将组件放在目标上方时,目标都会“闪烁”,这意味着它会消失一小会儿然后再次出现。
在此 link 观看应用程序处于当前阶段的视频。
我想这是由于表单的动画。如果是这样,我怎样才能禁用它,或者阻止目标闪烁?
下面是我的代码。它仍然是初级的,因为我刚刚开始从事该项目。
public void testDrag () {
Container containerDropTarget = new Container();
Container container = new Container(new GridLayout(5,1));
Label label = new Label("test test test test test test");
Button buttonTwo = new Button("Test");
buttonTwo.addDragOverListener(l-> {
containerDropTarget.setUIID("DialogTest");
});
containerDropTarget.setUIID("LetterHolder");
buttonTwo.setDraggable(true);
containerDropTarget.setDropTarget(true);
container.add(label).add(containerDropTarget);
form.add(container).add(buttonTwo);
form.show();
}
我没有定义 UIID,所以我根据您的测试用例使用了这段代码,它工作正常。我还为放置容器添加了一个标签,以便可以找到它:
Container containerDropTarget = new Container() {
@Override
public void drop(Component dragged, int x, int y) {
super.drop(dragged, x, y);
setUIID("Container");
}
};
containerDropTarget.add(new Label("Drop Target"));
Form form = new Form("Test Drag", BoxLayout.y());
Container container = new Container(new GridLayout(5,1));
Label label = new Label("test test test test test test");
Button buttonTwo = new Button("Test");
buttonTwo.addDragOverListener(l-> {
//containerDropTarget.setUIID("DialogTest");
containerDropTarget.getAllStyles().setBgColor(0xff0000);
containerDropTarget.getAllStyles().setBgTransparency(0xff);
containerDropTarget.repaint();
});
containerDropTarget.setUIID("LetterHolder");
buttonTwo.setDraggable(true);
containerDropTarget.setDropTarget(true);
container.add(label).add(containerDropTarget);
form.add(container).add(buttonTwo);
form.show();
我有一个使用拖放操作的 Android 应用程序。我不经常使用拖放,所以我才刚刚开始了解它们的工作原理以及可能产生的影响。
在我的应用程序中,每当我将组件放在目标上方时,目标都会“闪烁”,这意味着它会消失一小会儿然后再次出现。
在此 link 观看应用程序处于当前阶段的视频。
我想这是由于表单的动画。如果是这样,我怎样才能禁用它,或者阻止目标闪烁?
下面是我的代码。它仍然是初级的,因为我刚刚开始从事该项目。
public void testDrag () {
Container containerDropTarget = new Container();
Container container = new Container(new GridLayout(5,1));
Label label = new Label("test test test test test test");
Button buttonTwo = new Button("Test");
buttonTwo.addDragOverListener(l-> {
containerDropTarget.setUIID("DialogTest");
});
containerDropTarget.setUIID("LetterHolder");
buttonTwo.setDraggable(true);
containerDropTarget.setDropTarget(true);
container.add(label).add(containerDropTarget);
form.add(container).add(buttonTwo);
form.show();
}
我没有定义 UIID,所以我根据您的测试用例使用了这段代码,它工作正常。我还为放置容器添加了一个标签,以便可以找到它:
Container containerDropTarget = new Container() {
@Override
public void drop(Component dragged, int x, int y) {
super.drop(dragged, x, y);
setUIID("Container");
}
};
containerDropTarget.add(new Label("Drop Target"));
Form form = new Form("Test Drag", BoxLayout.y());
Container container = new Container(new GridLayout(5,1));
Label label = new Label("test test test test test test");
Button buttonTwo = new Button("Test");
buttonTwo.addDragOverListener(l-> {
//containerDropTarget.setUIID("DialogTest");
containerDropTarget.getAllStyles().setBgColor(0xff0000);
containerDropTarget.getAllStyles().setBgTransparency(0xff);
containerDropTarget.repaint();
});
containerDropTarget.setUIID("LetterHolder");
buttonTwo.setDraggable(true);
containerDropTarget.setDropTarget(true);
container.add(label).add(containerDropTarget);
form.add(container).add(buttonTwo);
form.show();