android - 不清楚 MotionLayout 参数
问题描述
谁能解释一下 MotionLayout 的 onSwipe 参数touchAnchorId和touchAnchorSide是做什么的?这是关于 touchAnchorId 的文档所说的
通过滑动移动的视图。
这对我来说没有意义,因为在 MotionLayout 上滑动不会移动单个视图。滑动会在开始约束集和结束约束集之间进行转换。我最初认为touchAnchorId会指定一个用户必须拖动以进行动画的视图,但事实并非如此,MotionLayout 开发团队为此引入了touchRegionId参数。我也不清楚touchAnchorSide应该做什么,因为我在改变它的值时没有看到任何区别。
解决方案
onSwipe 沿着一个方向(dragDirection=)水平(dragRight/Left/StartEnd)或垂直(dragUp/Down)移动进度从0到1
如果我将手指沿屏幕拖动 100 像素,它从 0 到 1 移动了多少?这是大多数其他论点回答的主要问题。没有锚,它使用布局的全长。
但是,如果你正在做一个过度的抽牌。您可以使用 dragScale 进行调整。但是多少钱?拉可能会因约束字体而有所不同。
很多时候,您希望它表现得好像您正在拉视图或视图的一侧。在这种情况下,您需要查看视图 (touchAnchorId) 和视图的一侧 (touchAnchorSide)
有时您想限制滑动操作的区域在这种情况下您可以使用limitBoundsTo。
其余的大部分标志都是关于当你抬起手指时要做什么。在它旨在支持的所有用例中,还有更多微妙之处。
推荐阅读
- excel - Excel VBA - 自定义 SUMIF 函数
- java - 不明白为什么我的 CSS 不起作用?
- javascript - 滚动时导航栏的一半离开页面
- ruby-on-rails - Ruby遍历两个对象并检查两个对象中是否存在某些东西
- kibana - 在 Vega 中自动调整文本标记的大小
- python - Networkx 和 Networkit 中的介数错误?
- javascript - 多个 Vue 3 观察者和 Typescript ......如何使用?
- vue.js - ApexCharts & Vue - 更改道具值不会更新图表组件中的图表
- aws-load-balancer - aws“网络负载均衡器”是否有 http/https 地址?
- api - Avaya Aura Call Center 实时 api NIrtd_Login 失败