Слияние кода завершено, страница обновится автоматически
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
Вход Перед тем как оставить комментарий