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

android-motionlayout - MotionLayout 应用 loadLayoutDescription

我对 MotionLayout 有 2 种不同的行为。这个想法是根据应用程序状态更改它们。但是当我从代码中设置时:

不应用约束。但它们是在拖动运动后应用的。是否有一些解决方法或者是因为 ConstraintLayout 2.0.0 alpha ?我在用着:

0 投票
1 回答
939 浏览

android - 第一次触摸时 MotionLayout 出现视觉故障

我正在使用包装中的新MotionLayout产品com.android.support.constraint:constraint-layout:2.0.0-alpha2

但我目睹了我第一次触摸屏幕时发生的视觉故障。我已经OnSwipe实现了,dragDirection="dragDown"但是如果我在任何其他操作之前向上拖动,它将向我显示动画的结束状态。不幸的是,我无法上传会显示它的 GIF,因为它太大了。所以我附上了所有的代码:

编辑 附加视频 - https://youtu.be/CYZy_Kt_LH0

场景_03.xml

活动测试.xml

0 投票
1 回答
860 浏览

android - 在 ImageFilterView 中以编程方式设置 android:altSrc?

这是我的布局元素。

在活动中,我正在初始化这个视图,如下所示。

我可以如下设置图像 src

如何app:altSrc="@drawable/icons_copy_4"动态设置?

0 投票
0 回答
93 浏览

android - 如何实现可拉式布局

我想以这样的方式实现布局和动画,当我们尝试下拉布局时,它应该增加它的高度并向下扩展,并且它的边缘应该是圆形的。和同样的方式拉起来。它应该增加它的高度并向上移动,它的边缘应该是圆形的。我不知道如何开始以及从哪里开始。

我到目前为止所尝试的。

我试图实现库 https://github.com/marcorighini/PullableView但是,它在构建项目时显示错误:

无法解决:com.github.marcorighini:PullableView:1.1.0

我还在 GitHub 中打开了一个问题。 https://github.com/marcorighini/PullableView/issues/3

该布局也有一个演示。应该如何下拉布局 https://drive.google.com/open?id=1yN2OHmYrpMZ0Uh7oo3N6HXd_x2dREK44

我想要达到的目标如图所示

在此处输入图像描述

有谁能够帮我?如果有人可以提供有关此问题的任何信息,那就太好了。如果有一个图书馆,那就太好了。提前致谢。请帮我。

0 投票
2 回答
5091 浏览

android - 如何在 MotionLayout 中以编程方式设置过渡持续时间?

我在这样的代码中手动设置了一个新的转换:

有没有办法我也可以这样设置持续时间?

ConstraintSets在 XML 中定义了多个,当第一次转换完成时,我使用onTransitionCompleted. Transition我的 XML 中有一个,它在那里正确使用了持续时间,但是Transitions我在代码中设置的以下内容发生得非常快,我找不到改变它们的持续时间的方法。

0 投票
1 回答
1319 浏览

android - MotionLayout 扩展回收器列表视图 - 如何重置过渡

我觉得我很傻,我想在我的 RecyclerView 中的 ViewHolder 上使用 MotionLayout 在两种状态之间进行动画处理(当前播放的歌曲被扩展,而最后播放的歌曲被缩小)但是似乎 recyclerview 太好了,它只是改变内容而不改变视图,即当当前播放的歌曲改变时,视图已经处于结束转换状态,所以我的转换什么都不做。同样,我之前展开的项目被反弹到关闭状态,所以我的动画什么也不做。

所以好吧,我想让我们检查转换的状态并设置进度,但是如果我在前一行设置进度,这会导致转换无法运行。我试过了,增加了一些延迟,但没有真正的改善,

我觉得我可能过度设计了这个,或者我错过了一些关于如何重置运动布局动画的基本知识。任何帮助将不胜感激。

0 投票
2 回答
4734 浏览

android - 如何使用运动布局在父视图内缩放 textView?

我正在尝试在容器视图中缩放 textView。Activity 使用运动布局。如果我不将它放在容器内,我可以缩放 textView。这是我的活动布局和运动布局描述文件。如何使 scaleX 和 scaleY 工作?

活动布局

运动场景

0 投票
0 回答
1141 浏览

android - 如何在 Kotlin for android 中为 webrtc SurfaceViewRenderer 帧大小和视图大小设置动画?

我正在为 android 应用程序开发 webrtc。关于 webrtc 连接,一切都按预期工作,但现在我正在制作动画,SurfaceViewRenderer因此远程视频从填充整个屏幕变为右上角的一个小矩形,反之亦然(从小到大)。

我正在使用 aMotionLayout来实现这一点,并使用 aMotionScene以及几个状态来定义SurfaceViewRenderer随时间变化的属性,以获得良好且平滑的调整大小效果。

视图本身会随着时间的推移正确调整大小,但在动画期间视频播放会停止,因此,当从小到大时,最后一个视频帧保持较小,而视图会增加其大小。并且在动画结束时,当视频继续播放时,会出现一个新的大视频帧并填满视图。因此,我最终变得更像跳过效果,而不是从小到大的平滑调整效果,小视频播放停止,然后在几毫秒后恢复播放并变大。

我试过的

  • 深入研究所涉及的类(SurfaceViewRenderer, VideoRenderer, VideoTrack)以找到获取当前视频帧并调整其大小的方法,但找不到这样做的方法

重现步骤

由于您需要设置 webrtc 环境以及信令服务器,因此很难重现确切的场景,但我将分享我正在使用的代码片段。我的主要布局如下所示:

然后我的 motion_master_view_scene.xmlMotionScene看起来像这样:

最后,我通过这样做在 MainActivity 中的状态之间切换

关于如何解决这种情况的任何线索?

0 投票
1 回答
782 浏览

android - RecyclerView 在 MotionLayout 中的其他视图上跳转

我在 Github 有一个项目:https ://github.com/Ali-Rezaei/TMDb-Paging

我在其中使用MotionLayout

有时 RecyclerView(带有 id actor)会跳转到 NestedScrollView 中的其他视图。

您可以在没有 RecyclerView 的情况下查看正确的行为:https ://github.com/Ali-Rezaei/TMDb-Paging/tree/master

当 NestedScrollView 内的其他视图高度较短时,就会发生这种情况。你知道为什么会这样吗?

我试过了:

但它没有显示在 RecyclerView 中。

这是scene_show_details:

0 投票
2 回答
1676 浏览

android - MotionLayout 无法识别

我为Motion Layout添加了库

但是MotionLayout在布局文件中添加它无法识别布局。