HarmonyOS 组件旋转后,平移方向出错
组件旋转后,组件的x, y轴还是原来的方向。代码:
import json from '@ohos.util.json'
@Entry
@Component
struct Index {
@State imageWidth: number = 0
@State imageHeight: number = 0
@State offsetX: number = 0
@State offsetY: number = 0
@State positionX: number = 0
@State positionY: number = 0
@State angle: number = 0
@State rotateValue: number = 0
@State scaleValue: number = 1
@State pinchValue: number = 1
@State pinchX: number = 0
@State pinchY: number = 0
@State centerX: number = 0
@State centerY: number = 0
aboutToAppear(): void {
}
build() {
Column() {
Text('标题栏')
.width('100%')
.height(50)
.textAlign(TextAlign.Center)
Column() {
Image($r('app.media.img'))
.width(200)
.height(200)
.scale({ x: this.scaleValue, y: this.scaleValue, z: 1 })
.translate({ x: this.offsetX, y: this.offsetY, z: 0 })
.rotate({
angle: this.angle,
})
.gesture(GestureGroup(GestureMode.Parallel,
PanGesture()
.onActionUpdate((event: GestureEvent) => {
if (event) {
this.offsetX = this.positionX + event.offsetX
this.offsetY = this.positionY + event.offsetY
}
})
.onActionEnd(() => {
this.positionX = this.offsetX
this.positionY = this.offsetY
console.info('Pan end')
}),
RotationGesture()
.onActionUpdate((event: GestureEvent) => {
if (event) {
this.angle = this.rotateValue + event.angle
}
})
.onActionEnd((event: GestureEvent) => {
this.rotateValue = this.angle
console.error(`${json.stringify(event)}`)
console.error(`${this.rotateValue}`)
console.info('Rotation end')
})
)
)
}.width(500).height(500)
}
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 视频播放时全屏播放后屏幕旋转为习惯性方向,请问习惯性方向是指的什么?
44浏览 • 1回复 待解决
HarmonyOS 如何让“方向传感器”、控制中心的“旋转锁定”同时影响屏幕旋转
49浏览 • 1回复 待解决
HarmonyOS 平移动画
16浏览 • 1回复 待解决
Ets 手势问题, PanGesture与PinchGesture 如何监听平移方向与捏合是外扩,还是内缩?
2626浏览 • 1回复 待解决
HarmonyOS 依赖npm上的三方库,下载过来后,import 后出错
323浏览 • 1回复 待解决
如何展示一张图片沿着一个边在z方向进行旋转?
246浏览 • 1回复 待解决
HarmonyOS Stack布局,子组件对齐方向问题
938浏览 • 1回复 待解决
setPreferredOrientation切换横竖屏时,能设置旋转方向(顺时针或逆时针)吗?
426浏览 • 1回复 待解决
Tabs组件选中下划线需要平移动效
1731浏览 • 1回复 待解决
Windows工作环境搭建完成后,编译时出错~求助
7017浏览 • 1回复 已解决
求助,自定义组件到底哪里出错了?
1969浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在Text组件上实现旋转手势控制旋转动作?
94浏览 • 1回复 待解决
Row里面的子内容长度超过Row后,循环平移,内容既有图片也有文字,没法用Marquee组件来实现,有什么方案?
257浏览 • 1回复 待解决
HarmonyOS 当PAD处于竖屏时旋转锁定,冷启动APP后,APP默认横屏展示,非旋转锁定的竖屏
63浏览 • 1回复 待解决
Automaticallt generate signature出错
311浏览 • 1回复 待解决
SparkSQL整合mongodb出错
5713浏览 • 1回复 待解决
HarmonyOS 设备自动旋转
38浏览 • 1回复 待解决
如何实现一个组件不停地旋转
2261浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何设置Swiper组件的垂直方向轮播?
179浏览 • 1回复 待解决
mysql + amoeba3.0.5 提示出错
2422浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何设置WaterFlow组件的布局方向和间距?
85浏览 • 1回复 待解决
#鸿蒙通关秘籍#List组件如何设置滚动方向与滚动效果
109浏览 • 1回复 待解决
windows中安装hpm出错
7493浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何设置Swiper组件的轮播方向为垂直?
88浏览 • 1回复 待解决
HarmonyOS api RelativeContainer chainMode 垂直方向不行
25浏览 • 1回复 待解决
可以将gesture组合手势放在父组件进行规避,代码如下: