В настоящее время я рассматриваю, как мы можем перенести разработку нашего приложения на Gluon Mobile.
Мой текущий тест - обработка перетаскивания.Я думал, что мог бы использовать обычный механизм JavaFx.Вот почему я добавил EventHandler для dragDetected в CardPaneItem (элемент для отображения в CardPane).
public CardPaneItem()
{
super(15);
.
.
.
//add label in the middle of the hbox
this.getChildren().addAll(createSpacer(), label, createSpacer());
this.setOnDragDetected(new EventHandler<MouseEvent>()
{
@Override
public void handle(MouseEvent event)
{
System.out.println("event " + event.getSceneX() + " y " + event.getSceneY());
Dragboard dragboard = CardPaneItem.this.startDragAndDrop(TransferMode.ANY);
ClipboardContent content = new ClipboardContent();
//quick and dirty; changed color of item before the snapshot
CardPaneItem.this.setStyle("-fx-background-color: #FF0000");
Image imageSnapshot = CardPaneItem.this.snapshot(null, null);
//reset color
CardPaneItem.this.setStyle("");
dragboard.setDragView(imageSnapshot) ;
//correction of x; when event in the middle of the item...not all, not finished
double wVerschiebung = imageSnapshot.getWidth() - event.getSceneX();
dragboard.setDragViewOffsetX(wVerschiebung);
dragboard.setDragViewOffsetY(0);
content.putString("TEST DRAG");
dragboard.setContent(content);
//event.consume();
}
});
}
Эта процедура работает только при тестировании на компьютере.Установленный на телефоне Android, я не получаю ответа от обработчика.
Есть ли документация о том, как использовать перетаскивание на Gluon Mobile?
Ссылка на полнуютестовый проект.