#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, не знаю почему. Кто-нибудь может помочь мне исправить мой код
кнопки, обведенные желтым кружком, не работают
Ответ №1:
Я изменил
motion:touchRegionId="@id/constraintLayout"
Для
motion:touchRegionId="@id/parent_layout"
и теперь он работает должным образом
(parent_layout — это идентификатор для всего макета ограничений (родительский макет ограничений, в котором определен весь пользовательский интерфейс)
если кому-нибудь нужен код всего XML-файла, спрашивайте в комментариях
Комментарии:
1. У меня была точно такая же проблема. Я сделал motionlayout значением touchRegionId, и это сработало.