При использовании touchAnchorId кнопки макета в движении не работают

#android #android-studio #android-motionlayout

#Android #android-studio #android-motionlayout

Вопрос:

Я использовал touchAnchorId, чтобы макет движения применялся только при пролистывании по одной области, потому что без него при прокрутке в recyclerview он автоматически перетаскивается вверх.

 <Transition
    motion:constraintSetStart="@id/start"
    motion:constraintSetEnd="@id/end"
    motion:duration="400"
    motion:motionInterpolator="linear">

    <OnClick motion:targetId="@ id/close" />

    <OnSwipe
        motion:maxAcceleration="800"
        motion:dragDirection="dragUp"
        motion:touchRegionId="@id/constraintLayout"
        motion:touchAnchorId="@ id/constraintLayout"
        motion:touchAnchorSide="top" />

   <KeyFrameSet>
   </KeyFrameSet>

</Transition>
  

Но после использования touchAnchorId я не могу использовать play, skip_next amp; skip_previous, не знаю почему. Кто-нибудь может помочь мне исправить мой код

Изображение, показывающее запуск или activity_main

кнопки, обведенные желтым кружком, не работают

Ответ №1:

Я изменил

 motion:touchRegionId="@id/constraintLayout"
  

Для

 motion:touchRegionId="@id/parent_layout"
  

и теперь он работает должным образом

(parent_layout — это идентификатор для всего макета ограничений (родительский макет ограничений, в котором определен весь пользовательский интерфейс)

если кому-нибудь нужен код всего XML-файла, спрашивайте в комментариях

Комментарии:

1. У меня была точно такая же проблема. Я сделал motionlayout значением touchRegionId, и это сработало.