MotionLayout <KeyPosition> 找不到属性 'target'
MotionLayout <KeyPosition> cannot find attribute 'target'
我正在使用 ConstraintLayout 2.0 来制作一些 MotionLayout 动画。我将 ConstraintLayout 2.0 从 alpha-3
更新为 beta-3
,现在在编译时,它抱怨
src/main/res/xml/scene.xml:11:
AAPT: error: attribute target (aka com.myapp:target) not found.
我没有更改我的 MotionLayout 场景文件中的任何内容。这是有问题的部分:
<MotionScene
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:motion="http://schemas.android.com/apk/res-auto">
...
<Transition
motion:constraintSetStart="@+id/start"
motion:constraintSetEnd="@+id/end"
motion:duration="1000">
<KeyFrameSet>
<KeyPosition
motion:target="@+id/accent_background" <<-- Here
motion:framePosition="80"
motion:percentX="1"
motion:percentY="1" />
我查看了 MotionLayout 的文档,对我来说这没有改变,但目标仍然是那样定义的。或者我错过了什么?
我确实清除了缓存并尝试重建,但没有帮助。
解决了。
属性已重命名为 motionTarget
。所以定义应该是
<KeyFrameSet>
<KeyPosition
motion:motionTarget="@+id/accent_background"
motion:framePosition="80"
motion:percentX="1"
motion:percentY="1" />
MotionLayout 博文来自 Google (https://medium.com/google-developers/introduction-to-motionlayout-part-i-29208674b10d) have the old attribute names, but documentation has them updated (https://developer.android.com/reference/android/support/constraint/motion/MotionLayout#keyposition)
我正在使用 ConstraintLayout 2.0 来制作一些 MotionLayout 动画。我将 ConstraintLayout 2.0 从 alpha-3
更新为 beta-3
,现在在编译时,它抱怨
src/main/res/xml/scene.xml:11: AAPT: error: attribute target (aka com.myapp:target) not found.
我没有更改我的 MotionLayout 场景文件中的任何内容。这是有问题的部分:
<MotionScene
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:motion="http://schemas.android.com/apk/res-auto">
...
<Transition
motion:constraintSetStart="@+id/start"
motion:constraintSetEnd="@+id/end"
motion:duration="1000">
<KeyFrameSet>
<KeyPosition
motion:target="@+id/accent_background" <<-- Here
motion:framePosition="80"
motion:percentX="1"
motion:percentY="1" />
我查看了 MotionLayout 的文档,对我来说这没有改变,但目标仍然是那样定义的。或者我错过了什么?
我确实清除了缓存并尝试重建,但没有帮助。
解决了。
属性已重命名为 motionTarget
。所以定义应该是
<KeyFrameSet>
<KeyPosition
motion:motionTarget="@+id/accent_background"
motion:framePosition="80"
motion:percentX="1"
motion:percentY="1" />
MotionLayout 博文来自 Google (https://medium.com/google-developers/introduction-to-motionlayout-part-i-29208674b10d) have the old attribute names, but documentation has them updated (https://developer.android.com/reference/android/support/constraint/motion/MotionLayout#keyposition)