Failed linking file resources when using Motion Layout KeyPosition

Muh*_*ifi 2 android android-constraintlayout androidx android-motionlayout

I am getting

"Failed linking file resources"

with

"error: attribute type (aka com.testapp.client:type) not found"

When using the new MotionLayout, specifically when adding a KeyPosition element to the scene file.

My scene file for reference:

<?xml version="1.0" encoding="utf-8"?>
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<Transition
    app:constraintSetEnd="@id/collapsed"
    app:constraintSetStart="@id/expanded">

    <OnSwipe
        app:dragDirection="dragUp"
        app:touchAnchorId="@id/recyclerview"
        app:touchAnchorSide="top" />

    <KeyFrameSet>
        <KeyAttribute
            app:framePosition="60"
            app:target="@id/toolbar_image">
            <CustomAttribute
                app:attributeName="imageAlpha"
                app:customIntegerValue="255" />
        </KeyAttribute>
        <KeyAttribute
            app:framePosition="90"
            app:target="@id/toolbar_image">
            <CustomAttribute
                app:attributeName="imageAlpha"
                app:customIntegerValue="0" />
        </KeyAttribute>
        <KeyPosition
            app:type="pathRelative"
            app:framePosition="50"
            app:target="@id/title"
            app:percentX="0.9" />
    </KeyFrameSet>
</Transition>

<ConstraintSet android:id="@+id/expanded">
    <Constraint
        android:id="@id/toolbar_image"
        android:layout_height="200dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <Constraint
        android:id="@id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginBottom="24dp"
        android:scaleX="1.0"
        android:scaleY="1.0"
        app:layout_constraintBottom_toBottomOf="@id/toolbar_image"
        app:layout_constraintStart_toStartOf="parent" />
</ConstraintSet>

<ConstraintSet android:id="@+id/collapsed">
    <Constraint
        android:id="@id/toolbar_image"
        android:layout_height="?attr/actionBarSize"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <Constraint
        android:id="@id/title"
        android:layout_marginStart="20dp"
        android:layout_marginBottom="0dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleX="0.625"
        android:scaleY="0.625"
        app:layout_constraintBottom_toBottomOf="@id/toolbar_image"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@id/toolbar_image" />

</ConstraintSet>
Run Code Online (Sandbox Code Playgroud)

I am using Android Studio 3.2 stable, and AndroidX varients of the support libs & constraint layout.

Any help is appreciated :)

Muh*_*ifi 11

没关系 :)

KeyPosition元素上的属性“ type”已在Alpha 2中更改为“ keyPositionType”

如果有人遇到相同的问题,请查看以下代码段:

        <KeyPosition
            app:keyPositionType="pathRelative"
            app:framePosition="50"
            app:target="@id/title"
            app:percentX="0.9" />
Run Code Online (Sandbox Code Playgroud)

代替这个:

        <KeyPosition
            app:type="pathRelative"
            app:framePosition="50"
            app:target="@id/title"
            app:percentX="0.9" />
Run Code Online (Sandbox Code Playgroud)

  • 仅需注意,也可以是从alpha 4开始现在应该是“ motionTarget”的“ target”属性。 (8认同)
  • 在我的情况下,“ interpolator”被重命名为“ motionInterpolator”。您可以在[此处](https://androidstudio.googleblog.com/2019/04/constraintlayout-200-alpha-4.html)检查所有更改。 (2认同)

Mom*_*out 9

供你参考, target

已更改为 motionTarget

KeyPositionKeyAttribute