MotionLayout:如何限制特定视图上的“OnSwipe”事件而不是整个屏幕上的“OnSwipe”

Nir*_*han 4 android android-animation android-motionlayout

我有一个带有以下“layoutDescription”的motionlayout(场景文件)

    <Transition
    motion:constraintSetStart="@+id/start"
    motion:constraintSetEnd="@+id/end"
    motion:duration="1000">

    <OnSwipe
        motion:touchAnchorId="@+id/button"
        motion:touchAnchorSide="left"
        motion:dragDirection="dragLeft" />

</Transition>
<ConstraintSet android:id="@+id/start">
    <!--    ConstraintSet for starting -->
</ConstraintSet>

<ConstraintSet android:id="@+id/end">
    <!--    ConstraintSet for end -->
</ConstraintSet>
Run Code Online (Sandbox Code Playgroud)

我从这里期望的是,如果用户将“按钮”拖向左侧,那么它应该执行转换,但实际发生的是当用户从屏幕中的任何位置向左拖动(向左滑动)时,执行此转换!

如何仅在拖动指定视图时限制动画工作?

(我使用 "constraintlayout:2.0.0-beta2" )

Rus*_*nko 5

实际上为onSwipe您可以使用touchRegionIdtargetIdOnClick