Проблема с обнаружением перетаскивания при запуске приложения на телефоне Android - PullRequest
0 голосов
/ 28 июня 2019

В настоящее время я рассматриваю, как мы можем перенести разработку нашего приложения на 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?

Ссылка на полнуютестовый проект.

...