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)
}
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 组件旋转后,平移的x y轴也跟着变了
573浏览 • 1回复 待解决
HarmonyOS 旋转设备获取设备方向问题
845浏览 • 1回复 待解决
HarmonyOS 代码中如何设置屏幕旋转方向
1360浏览 • 1回复 待解决
在鸿蒙开发中,如何实现组件的动画效果,如淡入淡出、旋转和平移?
250浏览 • 0回复 待解决
HarmonyOS 视频播放时全屏播放后屏幕旋转为习惯性方向,请问习惯性方向是指的什么?
528浏览 • 1回复 待解决
HarmonyOS 如何让“方向传感器”、控制中心的“旋转锁定”同时影响屏幕旋转
1194浏览 • 1回复 待解决
HarmonyOS 组件旋转
624浏览 • 1回复 待解决
HarmonyOS 页面传参后对象出错
567浏览 • 1回复 待解决
HarmonyOS 平移动画
690浏览 • 1回复 待解决
HarmonyOS PixelMap在操作图片旋转移动后组件不刷新
481浏览 • 1回复 待解决
HarmonyOS 集成华为账号登录后,点击登录出错
1003浏览 • 1回复 待解决
Ets 手势问题, PanGesture与PinchGesture 如何监听平移方向与捏合是外扩,还是内缩?
3112浏览 • 1回复 待解决
HarmonyOS web组件滚动方向判断
548浏览 • 1回复 待解决
HarmonyOS 平移动画问题
512浏览 • 1回复 待解决
HarmonyOS Text组件如何设置文字方向
655浏览 • 1回复 待解决
如何展示一张图片沿着一个边在z方向进行旋转?
974浏览 • 1回复 待解决
Tabs组件选中下划线需要平移动效
2250浏览 • 1回复 待解决
HarmonyOS 依赖npm上的三方库,下载过来后,import 后出错
861浏览 • 1回复 待解决
setPreferredOrientation切换横竖屏时,能设置旋转方向(顺时针或逆时针)吗?
875浏览 • 1回复 待解决
HarmonyOS Stack布局,子组件对齐方向问题
2203浏览 • 1回复 待解决
HarmonyOS 使用Image组件加载图片方向不对
1338浏览 • 1回复 待解决
HarmonyOS 组件旋转后,使用componentSnapshot截图,截到的图片不是显示给用户显示的样子
573浏览 • 1回复 待解决
Windows工作环境搭建完成后,编译时出错~求助
7832浏览 • 1回复 已解决
求助,自定义组件到底哪里出错了?
2873浏览 • 1回复 待解决
HarmonyOS 使用媒体相机拍照或者录制视频时,旋转角度如何根据当前用户的屏幕方向进行设置
752浏览 • 1回复 待解决
可以将gesture组合手势放在父组件进行规避,代码如下: