android - 第一次向相反方向滑动时,MotionLayout OnSwipe 过渡故障
问题描述
我正在使用 MotionLayout 来实现一个简单的动画:我的 MotionLayout 中有两个视图,一个限制在顶部的条形图和一个限制在条形图底部的 RecyclerView。当我滚动 RecyclerView 时,顶视图应该被推出。(就像一个折叠工具栏)我的 MotionScene 如下所示:
<Transition
motion:constraintSetEnd="@+id/end"
motion:constraintSetStart="@+id/start">
<OnSwipe
motion:dragDirection="dragUp"
motion:moveWhenScrollAtTop="false"
motion:touchAnchorId="@+id/table_view" />
</Transition>
<ConstraintSet android:id="@+id/start">
<Constraint
android:id="@+id/table_view"
android:layout_width="0dp"
android:layout_height="0dp"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toBottomOf="@+id/filters" />
<Constraint
android:id="@+id/filters"
android:layout_width="0dp"
android:layout_height="48dp"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toTopOf="parent" />
</ConstraintSet>
<ConstraintSet android:id="@+id/end">
<Constraint
android:id="@+id/table_view"
android:layout_width="0dp"
android:layout_height="0dp"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@+id/filters"
android:layout_width="0dp"
android:layout_height="48dp"
android:translationY="-48dp"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toTopOf="parent" />
</ConstraintSet>
过滤器是顶视图,table_view是 RecyclerView。动画就像一个魅力,只有一个很大的小故障。当我第一次进入屏幕并开始向下拖动 RecyclerView时,整个顶视图正在消失。如果我开始向上滚动,一切都会恢复正常,我无法再重现故障。我不知道是我做错了什么,还是 MotionLayout 有错误。
备注:我需要转换 Y用于特定目的。如果我将 OnSwipe 方向更改为dragDown,当我开始向上滚动时也会发生同样的事情。
解决方案
推荐阅读
- apache - 创建 docker 容器来托管网站
- c# - 需要在查询时将存储在 SQL Server 中的 (x,y) 点作为二进制图像转换为浮点数组
- phpstorm - 是否可以在不指定类型的情况下为 @param 编写 PHPDoc 文档?
- java - 无法确定按钮已被本机 android 自动化/Java 禁用
- java - Java 泛型和 Scala 的交集……进展不顺利
- unit-testing - Mono.doOnError() 反应器块单元测试
- java - 从密钥库中检索 X509 证书时出错
- django - Django - 对称关系 OneToOneField
- angular - ngIf 指令如何改变检测更改周期?
- javascript - 使用 POST 在 HTML 文件中注册