HarmonyOS 路径动画相关问题
使用以下官方demo做个贝塞尔曲线动画,设定好移动path。
1、布局里必须设置.alignItems(this.toggle ? HorizontalAlign.Start : HorizontalAlign.Center)动画才能生效这个是为什么?直接使用 .alignItems(HorizontalAlign.Start)就没有动画移动效果,为什么?
2、如果 Column()下还有其他控件例如Text 就会被动画影响到布局,这个明显不符合期望
3、是不是只能如demo那样写,有没有其他好的方案?
代码示例:
// xxx.ets
@Entry
@Component
struct MotionPathExample {
@State toggle: boolean = true
build() {
Column() {
Button('click me').margin({ left: 50, top: 50 })
.motionPath({ path: 'M 300 300 Q 600 1000 100 2000', from: 0.0, to: 1.0, rotatable: false })
.onClick(() => {
animateTo({ duration: 4000, curve: Curve.Linear }, () => {
this.toggle = !this.toggle // 通过this.toggle变化组件的位置
})
})
Text('测试')
.margin({ left: 20, top: 30 })
}
.width('100%')
.height('100%')
.alignItems(this.toggle ? HorizontalAlign.Start : HorizontalAlign.Center)
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 证书相关问题
288浏览 • 1回复 待解决
HarmonyOS KVStore 相关问题
104浏览 • 1回复 待解决
HarmonyOS AccountKit相关问题
354浏览 • 1回复 待解决
HarmonyOS Grid相关问题
300浏览 • 1回复 待解决
HarmonyOS BindSheet相关问题
289浏览 • 1回复 待解决
HarmonyOS 线程相关问题
330浏览 • 1回复 待解决
HarmonyOS音频相关问题
402浏览 • 1回复 待解决
HarmonyOS RN相关问题
376浏览 • 1回复 待解决
HarmonyOS 地图相关问题
500浏览 • 1回复 待解决
HarmonyOS CardRecognition相关问题
74浏览 • 1回复 待解决
HarmonyOS protobuf相关问题
340浏览 • 1回复 待解决
HarmonyOS router路由路径的问题
410浏览 • 1回复 待解决
HarmonyOS 动画执行时机问题
167浏览 • 1回复 待解决
HarmonyOS AOT相关问题咨询
308浏览 • 1回复 待解决
HarmonyOS 路由栈相关问题
168浏览 • 1回复 待解决
HarmonyOS dialog弹窗相关问题
319浏览 • 1回复 待解决
HarmonyOS文件读写相关问题
459浏览 • 1回复 待解决
HarmonyOS Video组件相关问题
306浏览 • 1回复 待解决
HarmonyOS 媒体问题相关咨询
94浏览 • 1回复 待解决
HarmonyOS NAPI开发相关问题
290浏览 • 1回复 待解决
HarmonyOS图片上传相关问题
375浏览 • 1回复 待解决
HarmonyOS 弹窗的相关问题
209浏览 • 1回复 待解决
HarmonyOS 视频录制相关问题
297浏览 • 0回复 待解决
HarmonyOS 列表List相关问题
298浏览 • 1回复 待解决
HarmonyOS 是否有动画相关的组件或则三方依赖
215浏览 • 1回复 待解决
问题1:路径动画的触发条件是元素的位置发生变化,所以当切换toggle 的时候如果位置没有发生变化就不会生效。
问题2:text布局发生变化是因为父容器的排列方式发生了变化,更改触发条件即可。
问题3:参考下面demo实现: