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

android - MotionLayout 和 ConstraintLayout 不围绕儿童高度设置动画

在 RecyclerView 中使用 MotionLayouts 时,我注意到 MotionLayouts 不会动画环绕他们的孩子,如果这些发生在高度上。

重现该行为的一种简单方法是使用以下布局:

以及与 OnClick 触发器关联的 MotionScene :

这将给出以下结果:

行为示范

如您所见,MotionLayout 的高度在过渡开始后立即设置为最终的预期高度,使其蓝色背景可见,直到子视图完成自己的高度过渡并完全重叠为止。

如果您尝试实现扩展项动画,则在 RecyclerView 中也会发生同样的事情。

有没有办法让 MotionLayout 在过渡期间完全适合它的孩子的高度,或者这会不会太划算?

0 投票
6 回答
22284 浏览

android - 以编程方式启动运动场景

我有一个带有这个layoutDescription的运动布局:app:layoutDescription="@xml/scene"

场景.xml

我认为view_home_card_startand的 xmlview_home_card_end是无关紧要的。

如何以编程方式调用此动画?

0 投票
3 回答
2641 浏览

android - 使用 Motion Layout KeyPosition 时链接文件资源失败

我正进入(状态

“链接文件资源失败”

“错误:找不到属性类型(又名 com.testapp.client:type)”

使用新的 MotionLayout 时,特别是在场景文件中添加 KeyPosition 元素时。

我的场景文件供参考:

我正在使用 Android Studio 3.2 稳定版,以及支持库和约束布局的 AndroidX 变体。

任何帮助表示赞赏:)

0 投票
1 回答
1523 浏览

android - MotionLayout 使用 Crossfade - altSrc 出现在 src 之上(原始图像不会消失)

我正在使用 ImageFilterView,与 MotionScene 配合,在用户滑动时在图像之间切换(我也在向上移动图像)。

新图像确实出现了,但旧图像仍然存在。我可以在原始图像之上看到altSrc图像。

LogoWithOldAndNew

难道我做错了什么? 我的预期是否不正确,旧图像会淡出?

以下是相关代码:

布局.xml

the_scene_alt.xml

0 投票
5 回答
10738 浏览

android - Android MotionLayout 中的多个转换问题

我正在玩 Android 中的 MotionLayout。我正在使用 alpha 2 版本。

我想对两个不同的按钮单击做出反应并为每个按钮触发一个动画。我目前的方法是在每个TransitionsMotionScene设置两个触发器。OnClick

问题是似乎只找到了第一个转换。对于第二个,什么都没有发生。我做错了什么还是你可以只设置一个过渡MotionScene?如果是这种情况,是否有不同的解决方案?

这是我的动态场景的重要部分

任何帮助表示赞赏。

此致

0 投票
2 回答
996 浏览

android - 将布局滑动到屏幕中间(向上滑动),然后向上或向下滑动

需要帮助创建一个看起来像谷歌地图中的探索按钮的布局

  1. 通过点击屏幕底部的按钮,面板从底部到屏幕中间出现(包括动画)

  2. 然后需要提供向上或向下滑动面板的能力

我几乎通过MotionLayout (alpha-2) 完成了它,另一个解决方案也不错

然后我设置进度(但没有动画)

谢谢

0 投票
0 回答
358 浏览

android - 浮动气泡的物理类型动画

我目前正在原型制作一个带有气泡的屏幕(现在是圆形 xml 可绘制对象),它有一个开始和结束位置,并以浮动气泡的方式进行动画处理。

我目前正在使用 Constraint Layout alpha 版本中提供的新 Motion Layout,现在调整值(急切地等待时间线动画工具)或看起来永远不正确都证明很痛苦。

是否有人知道具有类似功能的库或者 Motion Layout 是最好的选择?

每当我寻找气泡的东西时,它都是关于按钮等的涟漪效应,所以事实证明找到任何东西都有点困难。

理想情况下,我希望能够使用起点和终点动态添加气泡,然后独立启动动画,但现在的主要目标是让动画看起来正确。

顺便问一下 - 有人知道 Constraint Layout 2 的官方/预期发布日期吗?

感谢任何指针。

0 投票
1 回答
517 浏览

android - 带有应用程序包的 Android MotionLayout 无法正常工作

我有一个带有 MotionLayout的简单项目。有一个使用 setProgress() 方法更改 MotionLayout 状态的搜索栏。

当我部署默认 APK 时,一切正常,子视图移动。如果我使用“应用程序包中的 APK”部署,MotionLayout 不起作用(子视图不移动),就像它错过了 layoutDescription。

在此处输入图像描述

示例项目在这里

MotionLayout 版本:

0 投票
0 回答
602 浏览

android - 如何获得使用 MotionLayout 的障碍

所以我一直在MotionLayout尝试让某些动画正常工作,但是在ConstraintLayoutMotionLayout. 我有一个屏障,它引用了父布局顶部的两个标题视图和一个ViewGroup将顶部约束ViewGroup到屏障底部的屏障;但是,当我将 转换ConstraintLayout为 newMotionLayout时,屏障不再起作用。我ViewGroup被限制在父级的顶部而不是屏障的底部。我认为这是因为该库仍处于 alpha 阶段,但我希望有人对此有某种解决方法。

编辑:

谢谢!

0 投票
3 回答
8028 浏览

android - MotionLayout 中的 Android CustomAttribute 以更改 TextView 中的文本

任何人都可以帮助我以正确的方式更改TextView's text in MotionLayout... 这就是我正在做的事情。

我正在MotionLayout一个简单的应用程序上测试...我到达了关于Motion 教程的部分CustomAttributes

有了它们,您可以更改BackgroundColora 的View,也可以更改textColorusingcustomColorValue

在这种情况下,您可以看到它在开始和结束场景中更改此值非常有效:

在此处输入图像描述

另外我注意到有一个customStringValue所以我想我可以将TextView文本更改为“之前”->“之后”。但是当我尝试用CustomAttribute应用程序崩溃来设置它时。

在开始场景中:

在最后一幕:

在 MotionScene 之外,textView文本为TEST

  • 当我CustomAttribute为结束场景设置唯一时......文本从初始值TEST更改为结束AFTER值......所以它部分工作但永远不会返回到初始状态。
  • 这也发生在没有设置初始文本时TextView。它部分工作。

在此处输入图像描述

TextView所以......任何人都可以帮助我以正确的方式更改MotionLayout.