Я использую MotionLayout со сценой - xml:
<Transition
motion:constraintSetStart="@+id/start"
motion:constraintSetEnd="@+id/end"
>
<OnSwipe
motion:touchAnchorId="@+id/v_top_sheet"
motion:touchRegionId="@+id/v_top_sheet_touch_region"
motion:touchAnchorSide="bottom"
motion:dragDirection="dragDown" />
</Transition>
2 ConstraintSets
ссылаются только на 2 идентификатора вида: v_notifications_container
и v_top_sheet
.
В моей Деятельности я хочу установить обычный ClickListener для одного из других Представлений в этом MotionLayout:
iv_notification_status.setOnClickListener { Timber.d("Hello") }
Эта строка выполняется, но ClickListener никогда не запускается. Я искал другие сообщения, но большинство из них имеют дело с настройкой ClickListener в том же представлении, что и motion:touchAnchorId
. Это не тот случай, здесь. ClickListener установлен на View, который ни разу не упоминался в настройке MotionLayout. Если я удаляю атрибут app:layoutDescription
, щелчок срабатывает.
Я также пытался использовать setOnTouchListener
, но он также никогда не вызывался.
Как установить щелчок слушатель в MotionLayout?