android - MotionLayout OnSwipe touchRegionId 与 OnClick targetId 冲突
问题描述
我的 MotionLayout 中有这个过渡。
<Transition
android:id="@+id/transition_validate"
motion:constraintSetEnd="@id/endRight"
motion:constraintSetStart="@id/start"
motion:duration="400"
motion:motionInterpolator="easeOut">
<OnClick
motion:clickAction="transitionToEnd"
motion:targetId="@id/trueButton" />
<OnSwipe
motion:dragDirection="dragRight"
motion:touchAnchorId="@id/card"
motion:touchRegionId="@id/card"
motion:touchAnchorSide="right" />
中间的矩形是带有card
id 的 cardView。屏幕左右按钮为trueButton/falseButton
我的问题是,在我添加motion:touchRegionId="@id/card"
到 onSwipe 之后,我不能再点击1,即trueButton
上面的部分是card
启动动画(它实际上在附加的屏幕上是 false 而不是 true 但你明白了),我必须点击 3 即,这部分trueButton
不在卡片上方。
你见过这样的事情吗?你知道我怎么能限制 onSwipecard
触摸但点击按钮启动动画?
谢谢
解决方案
推荐阅读
- java - 如何使用 Spring Social 记录我的应用程序和 Facebook 之间的所有请求和响应?
- java - 我想通过使用 Java 程序从 JSON 文件中获取数据来登录
- wechat - 微信小程序:如何打印日志到控制台?
- c - 在子进程C程序中存储数据
- rust - 如何使用`std::io::Command`
- multithreading - 线程的函数结果总是延迟?
- html - 在 res.sendfile express js 上发送 html 和 css 文件
- jenkins - 詹金斯找不到 g++
- ceph - Ceph rbd 写入性能不佳
- angular - 如果缺少密钥或正在加载翻译文件,则 ngx-translate 默认文本