相关疑难解决方法(0)

MotionLayout 中的 KeyAttribute 在视图“可见性”更改时被忽略

在滑动动画之后,我正在使用MotionLayout和<MotionScene />为bottomSheetView内容设置动画。

在开始和结束场景之间,我想view_player_status_margin使用从gone到的可见性来显示一个视图visible(不使用,alpha因为另一个视图通过约束链接到我想要显示的视图)。

可以使用标准<Constraint />in <ConstraintSet />,但是当我将可见性链接到 a<KeyAttribute />以使视图仅出现在动画的最后一帧时,它不会遵循特定于帧的规则位置。

我的使用<KeyAttribute />似乎是正确的,因为它适用于其他两个视图的 alpha。

使用KeyAttributewithvisibility属性是否有特定限制?

<?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/player_scene_set_expanded"
        app:constraintSetStart="@+id/player_scene_set_collapsed"
        app:motionInterpolator="easeIn">

        <KeyFrameSet>

            <KeyAttribute
                android:visibility="gone"
                app:framePosition="80"
                app:motionTarget="@id/view_player_status_margin" />

            <KeyAttribute
                android:alpha="0"
                app:framePosition="20"
                app:motionTarget="@id/view_player_collapsed" />

            <KeyAttribute
                android:alpha="1"
                app:framePosition="20"
                app:motionTarget="@id/view_player_expanded" />

        </KeyFrameSet>

    </Transition>

    <ConstraintSet android:id="@+id/player_scene_set_collapsed">

        <Constraint
            android:id="@+id/view_player_collapsed"
            android:layout_width="0dp"
            android:layout_height="64dp"
            android:alpha="1"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent" /> …
Run Code Online (Sandbox Code Playgroud)

android android-motionlayout

5
推荐指数
1
解决办法
997
查看次数

标签 统计

android ×1

android-motionlayout ×1