问题标签 [objectanimator]

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 回答
11328 浏览

android - 在动画结束之前调用 ObjectAnimator onAnimationEnd 监听器

它奇怪而奇怪,但似乎当我将 AnimatorListener 附加到我用于动画片段事务的 ObjectAnimator 时,实际上在动画完成之前稍微调用了回调。我使用侦听器将内容填充到片段中(来自 DB)。该操作有时可能需要很长时间(~200ms),当我在 onCreate 左右执行此操作时,它只会破坏动画,因为在动画过程中会返回并渲染内容......然后会有很多垃圾和口吃。 . 因此,当我将填充调用添加到侦听器中时,当数据库选择也需要很长时间时,它就会起作用。但有时它几乎是瞬时的,在这种情况下,当在动画结束之前调用回调时我会遇到问题。

大佬们知道怎么解决这个问题吗?下面是该片段的几乎全部代码。

所以基本上有两种方法可以解决这个问题..我可以完全找到另一种解决方案,如何在没有垃圾动画的情况下将内容填充到片段中,或者我可以找到一种方法来解决听众的问题。

还有一种我不喜欢的额外方式。我可以创建一个处理程序并调用 postDelayed..awful 解决方案:)

0 投票
1 回答
16984 浏览

android - Android ObjectAnimator 动画翻译在所有屏幕尺寸上的比例相同

我正在使用ObjectAnimator向上滑动背景图像以显示listView以下内容。有listView一个weightof0.7f以便它在所有屏幕尺寸上的比例相同。

使用ObjectAnimator是否可以以相同0.7的比例向上滑动我的背景图像,在所有屏幕上都相同?

背景图像和listView

动画代码:

0 投票
2 回答
4126 浏览

java - AnimatorSet:不能存在循环依赖

当我单击开始按钮,然后结束按钮并再次单击开始按钮时,会导致以下异常:

源代码:

0 投票
1 回答
1086 浏览

android - Android ObjectAnimator 在第二个动画上闪烁

我有一个视图(sendSidePanel),在呈现视图时我会隐藏它:

我他们使用 ObjectAnimator 在按钮按下时上下动画视图:

问题是,当我想向下动画面板(又名 panelDown==false)时,在动画向下动画之前,视图(sendSlidePanel)会有轻微的闪烁。

但是,我确实尝试过,一开始没有隐藏视图,而是在单击按钮时将其动画化。在这种情况下不会发生闪烁。似乎只有在初始动画之后才会发生闪烁。

我什至尝试过,但无济于事:

即使这样,但无济于事: Android Animation Flicker

请帮忙,谢谢!

0 投票
0 回答
111 浏览

java - 如何将视图从顶部滑入滑出到原始位置

我从顶部的某个位置对我的活动有一个看法。现在我想通过单击按钮将其滑出/滑入/滑出顶部。

最初它应该是不可见的。

1)当按钮点击它应该是可见的,但从顶部到它的位置动画。2)当按钮点击它应该从它的位置到顶部是不可见的。

任何人都可以有代码来实现这个想法。需要写什么样的动画。请分享你的经验。提前致谢。

0 投票
1 回答
1442 浏览

android - 当我反向运行动画时,Android 会跳过 onDraw()

我有一个Sliding Fragments DevByte的实现。除了将片段滑入视图之外,我还想在它被遮挡的内容上绘制阴影。我已经修改了FractionalLinearLayout从视频到measure自身的两倍屏幕宽度layout及其右半部分的子项。在动画循环期间,我在左半边绘制了一个增加 alpha 的黑色矩形,并将我的 X 坐标设置为负值以显示右半边。

我的问题是,当我将内容滑入视图时它工作正常,但当我将内容滑出视图时失败。在进入的过程中,我得到了我想要的行为:翻译和变暗的阴影。在输出的过程中,我只得到了平移,并且阴影在整个动画过程中一直保持它的第一帧颜色。

我在日志中看到的是,在进入的过程中,setPercentOnScreen()onDraw()方法交替调用,正如预期的那样。然而,在出去的路上,我接到一个电话到 ,然后setPercentageOnScreen()接到一个电话到onDraw(),然后只接到一个电话到setPercentOnScreen()。Android 正在优化绘图,但我不知道为什么。

更新:有趣的是我只在运行 Android 4.4 的模拟器上看到这种行为。运行 4.0.3 和 4.3 的模拟器按预期在两个方向上运行动画。旧的 Nexus 7 会出现问题,而其他模拟器 4.4 则不会。它在设备上似乎是一致的,但在设备之间会有所不同。

再次更新:我提取了一个示例项目并将其放在 GitHub 上:barend/android-slidingfragment。GitHub 上的自述文件包含十几个设备上的测试结果。对于模拟器,问题与“启用主机 GPU”功能相关,但仅限于 Jelly Bean 和 KitKat;不在 ICS 上。

再次更新:进一步的测试表明,问题出现在运行 Jelly Bean 或更高版本的物理设备上,以及启用“使用主机 GPU”的运行 Jelly Bean 或更高版本的 ARM 模拟器上。无论 Android 版本如何,它都不会出现在 x86 模拟器和没有“使用主机 GPU”的 ARM 模拟器上。我的测试的确切表格可以在上面链接的 github 项目中找到。

奇怪的是,这违反了对称性。我在滑出时和滑入时反向做完全相同的事情,但行为不同。我可能忽略了一些愚蠢的事情。有任何想法吗?

0 投票
1 回答
2036 浏览

android - Android:在代码中获取动画持续时间

旋转_x.xml:

下面的代码将 -1 记录到 logcat。

为什么是这样?如何AnimatorSet在代码中获得持续时间。

0 投票
1 回答
2640 浏览

android - Android:为什么 Object Animators 保留起始值?

我混合了在各种场景中运行的动画。举个例子;

我在一个小圆圈位图上有一个淡入淡出动画师。在应该开始和上ACTION_DOWN,当淡入结束时,淡出应该运行。但是,如果用户在淡入结束之前拿起手指,它应该停在那里(),淡出应该从那个 alpha 值开始。我不想要一个新的对象动画师,我在构造函数中定义了一个这样的动画师fade-inACTION_UPfadein.cancel()

发生的情况是,如果我产生上述问题(快速拿起手指),淡出动画师将拾取淡入停止的 alpha 值,并保留该值。也就是说,从第二次开始,它就不会获得新的 alpha!这是为什么?解决方法是什么?每次都创建新对象?

0 投票
2 回答
6654 浏览

android - 与 getGlobalVisibleRect 混淆,不同的值

我正在尝试使用来自 der android 开发人员网站的以下示例缩放 FrameLayout:http: //developer.android.com/training/animation/zoom.html

我的具体问题,第一次动画是正确的,是从 thumbView 扩展,第二次动画来自“某处”(中间/顶部到中心)。

我几乎相同,不同之处在于,我有一个 Framelayout 而不是一个 ImageView 并且我提取了函数以在一个额外的方法中最小化视图。现在看起来像这样:

startBounds 变量是全局的,因为我需要它来知道最小化过程的位置。这里是最小化方法:

如果我调试整个过程,我可以看到方法 zoomViewFromThumb 中的 getGlobalVisibleRect 方法给了我另一个值。

如果我调试线路

第一次这两个参数是 0 和 -60,第二次(最小化和重新创建后有 15 和 360。

我不知道为什么会这样。

我尝试从给定的 thumbView 设置 View.X 和 View.Y 参数追加,我尝试在 ObjectAnimator 中使用 View.X、View.Y 参数的常量值,但没有解决我的问题。

现在请帮助我。

问候马努

1. 编辑:失败出现在 Android 4.1.2 上

2.编辑:这里是xml文件,第一个是代表我的主要活动的xml文件(带有动画),第二个代表我在主要xml的FrameLayout中推送的TableLayout。(请注意,目前我正在工作,我无法访问原始文件,现在这些 xml 文件在我记忆中都很好)

首先

第二

3.编辑:更正xml文件,现在添加活动:

好的,这就是完整的代码。最后是一个 onClick 方法,在那里我收到用户操作。从那里我调用minimizeView 方法,然后进行一些检查,然后我调用flipCard。就这样。

0 投票
0 回答
1225 浏览

android - 将动画从一个线性布局转换到另一个线性布局后,TextView 消失

我正在尝试相互交换两个文本视图(它们处于不同的线性布局中)。

我的要求与以下链接中提到的要求有点相似,

动画:将 TextView 移动到另一个容器中

我使用了“nineoldandroids”库的 ObjectAnimator,但是当它移动到其他布局时,textview 会消失。

有人可以帮我解决这个问题。提前致谢。

更新1:-

现在我使用“nineoldandroids”库的 PropertyValuesHolder 来执行翻译动画。使用 PropertyValuesHolder 后,textview 在完成动画后可见(即不消失)。但是动画后onclick功能不起作用。

我还放置了 toast 消息以在动画后检查 Textviews 的 X 尺寸。

然后我得到以下显示:- 动画之前:- 对于第一行和第一列的 textview(即 tv11):- 0.0 用于第二行和第二列的 textview(即 tv22):- 0.0

动画后:- 对于第一行和第一列的 textview(即 tv11):- 240.0 对于第二行和第二列的 textview(即,tv22):- -240.0

无论如何,将这些文本视图作为其他布局的子视图(到它们被移动的位置)。

请找到以下相同的代码:-

  • MainActivity.java:-

    /li>
  • activity_main.xml:-

    /li>
  • 更新 2:-

即使执行了以下更改,onclick 也无法正常工作。有人可以帮助我。