问题标签 [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 投票
3 回答
2748 浏览

android - 带有 MotionLayout 的 Android 折叠工具栏 - 当 RecyclerView 为空/不可滚动时禁用运动

我正在尝试使用 MotionLayout 视图来获得折叠工具栏的行为。我的方法与此处的示例类似:https ://blog.stylingandroid.com/motionlayout-collapsing-toolbar-part-1/

这工作正常,但即使 recyclerview 为空或条目少于屏幕上的条目,也可以在滑动时开始转换。

如果回收器实际上能够滚动,有没有办法只启用 MotionLayout 过渡?

我的 OnSwipe 描述:

0 投票
2 回答
1405 浏览

android - 以编程方式在 MotionLayout 中设置边距

我有一些视图需要以编程方式设置一些边距(来自 applyWindowInsets 侦听器),但视图似乎忽略了我用代码设置的任何边距,即使我没有为边距设置动画。

我可以很好地设置填充,但我不能只使用填充来完成我需要的事情。

这个问题似乎与 MotionLayout 有关,因为如果它是一个 ConstraintLayout,它就可以正常工作。

我一直在使用这个 util 方法。

0 投票
1 回答
2271 浏览

android - 约束布局中的 Motionlayout OnClick 问题

我使用运动布局尝试了一些很酷的过渡。它工作得很好。但是当我尝试使用 onClick 时,点击事件会影响整个屏幕,而不是特定的小部件。

XML:

动态场景文件:

依赖项:

无论我在屏幕中的哪个位置单击它都会显示动画。我不知道我犯了什么错误。

0 投票
2 回答
1784 浏览

android - ScrollView里面的MotionLayout在状态改变后不更新高度

我在 NestedScrollView 中有一个 MotionLayout:

我的状态 1 仅显示视图 1。
我的状态 2 仅显示视图 2。
我的状态 3 显示视图 1 + 视图 2(在视图 1 下方)+ 视图 3(在视图 2 下方)

由于状态 3 垂直附加多个视图,因此它是垂直最长的。

但是,我只能向下滚动到为状态 1 和状态 2 设置的数量。它不会重置 scrollView 内的高度。

难道我做错了什么?

我在 onTransitionCompleted() 尝试了以下操作:

他们没有解决我的问题。

0 投票
2 回答
5911 浏览

android - 以编程方式更改约束时,Android MotionLayout 状态未更新

我有一个非常简单的 MotionLayout,我正在尝试以编程方式更改其中一个约束的可见性,并让视图反映该更改。但是,直到我从当前状态转换然后回到它之前,更改才会反映出来。如何让视图立即根据新的约束进行自我更新?我试过了updateState()rebuildScene()invalidate()他们似乎都没有做任何事情。

这是视图:

这是动态场景:

这是我尝试在 2 秒后更新文本视图之一的可见性的代码:

你可以在下面的 gif 中看到,我等了 2 秒,没有任何反应。直到我转换到一个新状态,然后回到原来的状态,可见性才会更新。

0 投票
2 回答
1391 浏览

android - MotionLayout onSwipe 自动完成速度

有什么方法可以加快播放动画的速度,当我在过渡中停止滑动时MotionLayout播放onSwipe?目前,它非常缓慢地过渡到开始或结束位置。

0 投票
2 回答
1026 浏览

android - MotionLayout and constraint Groups

I am going to start using MotionLayout.
After replacing existing ConstraintLayout with the MotionLayout, which has a simple motion scene,
I noticed that androidx.constraintlayout.widget.Group is not working anymore.
Initially, I showed one of the two groups depending on a condition,
but now both of them are visible, even though I set visibility to GONE.
Could I somehow get MotionLayout to work with Groups, or I should use different MotionLayouts?

0 投票
2 回答
541 浏览

android-motionlayout - 我可以在生产中使用运动布局吗

我已经编写了一个使用运动布局的 UI 组件(而且它是涂料)。我的一些同行担心在生产中使用 beta 依赖项。一切似乎都很稳定并且可以正常工作,这引出了一个问题,为什么没有稳定的动态布局发布?

有人在生产应用程序中使用运动布局吗?

我正在使用这个依赖

实现'androidx.constraintlayout:constraintlayout:2.0.0-beta2'

谢谢!

0 投票
1 回答
1251 浏览

java - 使用 ImageView 以及底部的自定义布局构建 CollapsingToolbar

这就是我想要实现的,在 CollapsingToolbar 中的图像下方会有一个自定义布局,该布局将包含几个视图项。1

所需的行为是,在滚动时,底部布局将逐渐消失并消失,顶部的图像将缩小并固定为工具栏。

我已经使用图像构建了一个 CollapsingToolbar,它工作正常。虽然我坚持在底部添加自定义布局,但如前所述。

我是否需要跳过 CollapsingToolbar 并使用其他东西,例如 MotionLayout ?

0 投票
1 回答
1065 浏览

android - android 中的 MotionLayout 不适用于多个 OnClick 转换

我遇到了 MotionLayout 的问题。我创建了一个场景,当我使用一个 onClick 转换时它可以工作。但我需要有两个。

我想要做的是:单击视图中的按钮时,该视图将隐藏,而另一个视图将显示。这行得通。但是现在当我单击另一个视图中的按钮时,我想显示第一个视图,而第二个需要隐藏。

这种作品,唯一的问题是它没有通过过渡来做到这一点。它只是显示。

我的场景看起来像:

希望任何人都可以提供帮助。

亲切的问候,

科尔斯滕