问题标签 [android-motionlayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
264 浏览

android - MotionLayout 和 Horizo​​ntal Recyclerview

我正在尝试使用水平 Recyclerview 的 MotionLayout:垂直移动时,recyclerview 被扩展,水平移动时 recyclerview 被滚动。但是我无法避免motionlayout拦截甚至recyclerview事件-->当我水平滚动时,我看到motionlayout拦截了运动,因此扩展了recyclerview。是否可以禁用所有水平运动的运动布局?

0 投票
1 回答
1411 浏览

android - Android:向上滚动(向上拖动)时显示工具栏,向下滚动时隐藏(向下拖动)

我有一个场景,即 Activity 中的工具栏/操作栏具有与一般工具栏行为相反的行为。motion layout它应该在片段内部向上滚动时隐藏并在向下滚动时显示motion layout,这与一般滚动行为相反。

我尝试完全隐藏Support Action Bar和工具栏布局,但它没有任何动画并且不是好兆头,因为 Activity 包含一个底部导航视图,因此操作栏的不断隐藏和显示看起来并不好。

AppBarLayout.LayoutParams scroll-flags显然添加了一般行为。

fragment.xml

collapsing_header_arc.xml

有没有办法实现这个?

0 投票
0 回答
448 浏览

android-motionlayout - MotionLayout 不会将嵌套滚动向上传递给父级

我正在使用“com.android.support.constraint:constraint-layout:2.0.0-alpha5”。我有一个在活动中使用 MotionLayout 的片段,该片段还在 CoordinatorLayout 中携带了一个 BottomNavigationView,具有允许在滚动内容时显示和隐藏的自定义行为。对于没有 MotionLayout 的所有片段,此行为非常有效。只有 MotionLayout,它有一个 NestedScrollView 作为一个孩子,并利用一个 onSwipe 转换,这种滑动似乎被消耗了,并且没有到达活动的协调器布局。这是 MotionLayout 工作方式的当前限制,是否可以扩展它以支持我的用例?

0 投票
1 回答
60 浏览

android - MotionLayout:重新启动 onCreate() 时布局中包含的视图不可见

首次启动屏幕后不显示包含的视图。

转载视频: https ://drive.google.com/open?id=1EzNe5kXHZ_91kycYsZ8RlcEDZwX3EEyv

主要布局: https ://gist.github.com/albka1986/9028905ece74d2e58d5fca7afd796732

场景: https ://gist.github.com/albka1986/f17a538980aa02001094df99eec775ba

版本:'androidx.constraintlayout:constraintlayout:2.0.0-alpha5'

0 投票
1 回答
422 浏览

android - 使用新的 MotionLayout 模拟 Snackbar + CoordinatorLayout + FAB

假设我们有一个底部导航栏,顶部有一个 FAB。使用此设置并显示 Snackbar 时,Snackbar 应出现在 BottomNavigationBar 上方,并在出现/消失时向上/向下推动 FAB。

这是使用 CoordinatorLayout 的常见场景。是否也可以使用新的 MotionLayout 创建这个动画?

错误跟踪器中存在问题,但它已经关闭,因为 OP 没有明确提出问题(https://issuetracker.google.com/issues/112665540

我在尝试时遇到的问题:我们无权访问 Snackbar 的 layout-id。我们也无法访问 Snackbar 的通用 xml,因此我们无法设置其约束。

更新:我知道一段代码将有助于作为回答这个问题的起点。但是我想出的任何一段代码都没有用。我现在指出了两个主要问题:

  1. 我不知道 Snackbar 的 layout-id。因此我不能用它来写场景描述。

  2. 即使我可以创建场景描述(例如 State1:​​SnackBar 可见,State2:Snackbar 不可见)。我必须手动触发这些场景转换。这意味着我将重新创建自己的 Snackbar,而不是按预期使用原始 Snackbar。

评论: @mikejonesguy 是的,在我看来它们是相似的。不一样,但很相似。而且 MotionLayout 也确实有您描述的工作:协调其子视图之间的交互。用“动画”替换“坐标”,你就会明白我的意思了。还可以查看 OnSwipe/OnClick 处理程序。MotionLayout 还是很新鲜的,但我认为它会在未来取代 CoordinatorLayout,就像 ConstraintLayout 取代 RelativeLayout 一样。也许我错了,也许不是……时间会证明一切。

结论: 就我而言,似乎没有办法(还)仅通过使用 MotionLayout 来实现我想要的。如果有可能有一天,我会用一个工作示例来更新这个问题。对不起,不可能的赏金...... :)

0 投票
1 回答
1023 浏览

java - 将底页布局与 MotionLayout 结合使用的最佳方法是什么

我的 MainActivity 中有一个图像视图。当展开我的底页时,MainActivity 中的图像视图应该改变它的位置和大小。有人可以带领我走上正确的道路吗?

我试过在按钮点击时设置动作,这很有效。我找不到通过展开底页来触发动作的方法。

我的最后一个想法是,获取底片的滑动偏移量并在运动中使用它......但是如何?

谢谢,GGK

MotionScene.xml

`

0 投票
1 回答
462 浏览

android - 如何将元素移动到顶部并将其粘贴在运动布局中?

在滚动期间,我想将按钮从 AppBarLayout 的底部移动到屏幕的顶部。但是,如果我设置约束 motion:layout_constraintTop_toTopOf="parent",则由于 AppBarLayout 也会移动,因此按钮会从屏幕上移开。如何处理这种情况?

动态场景

布局

0 投票
1 回答
598 浏览

android - 如何用关键帧控制边距?

我想更改第一个 layout_marginStart 而 layout_marginStart 不应该更改直到第 60 帧。但是以下关键帧被忽略并且两个边距同时动画。

0 投票
2 回答
473 浏览

android - 汤姆如何链接几个过渡?

在motionlayout中一个接一个地播放过渡以使其看起来像单个动画?虽然关键帧可用于在两个约束集之间建立中间状态,但它们也受到限制,不能修改所有所需的属性。

0 投票
1 回答
194 浏览

android - 使用 MotionScene 调整图像大小后的边距机器人

我正在使用 MotionLayout 做一个示例,我只想在滚动时调整图像大小。问题是当动画完成时,底部边距比动画之前大。如何解决它并在开始和结束动画时获得相同的边距。

https://imgur.com/xymTHum “之前”

https://imgur.com/5PM5OZB “之后”