1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkui_ace_engine

 / Детали:

[Ошибка]: В версии 4.0, в悬浮窗中无法接收PanGesture拖拽事件。→ [Ошибка]: В версии 4.0 невозможно получить событие...

Предстоит сделать
Владелец
Создано  
09.03.2025

PanGesture при перетаскивании в плавающем окне.

Какую проблему вы заметили?

При вызове метода window.createWindow для создания плавающего окна, при проведении пальцем по странице в этом плавающем окне, компоненты страницы не получают уведомлений о событиях перетаскивания типа PanGesture. Также координаты, полученные в событиях onTouch, равны нулю.

Какое поведение вы ожидали?

Компоненты страницы должны корректно получать уведомления о событиях перетаскивания типа PanGesture, а также иметь правильные координаты.

Как воспроизвести эту ошибку

Код плавающего окна представлен ниже:

@Entry
@Component
struct FloatingButton {
  @State message: string = 'Нажмите меня';
  private panOption: PanGestureOptions = new PanGestureOptions({ direction: PanDirection.All });

  build() {
    Row() {
      Column() {
        Button(this.message)
          .borderRadius(3)
          .backgroundColor('#317aff')
          .width(150)
          .height(60)
          .fontSize(25)
          .onClick(() => {
            console.log('Нажмите меня');
          });
      }
      .width('100%');
    }
    .height('100%')
    .gesture(
      PanGesture(this.panOption)
        .onActionStart((event: GestureEvent) => {
          console.info('Pan начало');
        })
        .onActionUpdate((event: GestureEvent) => {
          console.info('Pan обновление offsetX: ' + event.offsetX + ', offsetY: ' + event.offsetY);
        })
        .onActionEnd(() => {
          console.info('Pan конец');
        })
    )
    .onTouch((e) => {
      for (let i = 0; i < e.touches.length; i++) {
        console.info('on touch, screenX: ' + e.touches[i].screenX + ', screenY: ' + e.touches[i].screenY
          + ', tiltX: ' + e.tiltX + ', tiltY: ' + e.tiltY
          + ', X: ' + e.touches[i].x + ', Y: ' + e.touches[i].y);
      }
    })
    .border({
      style: BorderStyle.Dotted,
    })
    .backgroundColor(Color.Yellow);
  }
}
```### Дополнительная информация



### Информация о версиях или ветках

- [ ] master
- [ ] Release 4.1
- [x] Release 4.0
- [ ] Release 3.2

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
waiting_for_assign
label.
GitLife Service Account добавлено
 
bug
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkui_ace_engine.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkui_ace_engine.git
oschina-mirror
openharmony-arkui_ace_engine
openharmony-arkui_ace_engine