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

android - 可以使用 ObjectAnimator 进行动画处理的 Android 属性

我开始在视图动画上使用属性动画,因为我有一个视图需要缩放并将其他视图推开。我看过一些例子,但我只是想知道是否有任何地方提供可以使用这些类更改的属性列表。例如,我看到一个教程使用以下方法进行了快速旋转:

这很酷,但如果不是那个确切的教程,我不会知道旋转属性,有没有可以做的综合列表?如果有人对此有任何具体建议,我想要制作动画的特定属性是 LinearLayout 中视图的权重。

0 投票
1 回答
624 浏览

android - 使用 ObjectAnimator 让 touchevents 在 2.3 上工作

所以首先让我给你一些关于我正在尝试做的事情和我尝试过的事情的背景信息:) 我有多达十个视图,我需要不断地从右到左移动。一旦一个视图离开屏幕,另一个视图就会从右侧进入。所有的视图都需要是可触摸的。我能够通过几种方式实现这一点,但它们并不顺利(有些结结巴巴,有些在应用程序变慢时似乎跳了起来)。所有这些视图都在一个 viewGroup 中,我正在重用它们(只有 10 个视图)。

这些是我尝试过的方法:

  1. 更改视图的边距(使用处理程序更新)
  2. 调用 View.layout(l,t,r,b) (使用处理程序更新)
  3. 获取 View.getDrawingCache() 并将其绘制在 surfaceView 上(也使用处理程序)
  4. 使用 ObjectAnimator (nineoldandroids)

它们都不是很流畅(视图会停止几分之一秒并跳跃),但最好的是使用动画。我首先使用了来自 android 的常规 translateAnimation,但当然这是不可触摸的。我尝试获取动画的矩阵(我不知道是否做错了什么),但它没有返回视图的顶部/左侧:

所以现在我的问题。

我得到的最好结果是使用 ObjectAnimator。

我可以使用 ObjectAnimator 进行触摸,但只能使用 android 3.0 及更高版本(不是 2.3)。

有谁知道为什么或如何让触摸在 android 2.3 上工作?还是有更好的方法来移动所有这些视图?在移动/动画这么多视图时,我应该记住或做哪些事情?

您是否知道如何提高使用上述任何其他选项的“流畅性”(口吃或停止几分之一秒并跳起来赶上)?

ViewGroup 是最好用的吗?抱歉问了这么多问题。

任何想法、想法或评论都会非常有帮助,非常感谢 :) 如果您有更多问题或不明白的地方,请告诉我。

0 投票
1 回答
144 浏览

android - 如何在 android 2.3 之前的平台上使用 android 4.0 中新增的 Animator 框架?

如何在 android 2.3 之前的平台上使用 android 4.0 中新增的 Animator 框架?

多谢你们。

0 投票
1 回答
932 浏览

android - 如何在旧版 Android 中使用 Fragments 和 objectAnimator?

我尝试使用片段和 objectAnimator 制作像这里这样的翻转动画,并且在 Android 4.1 上一切正常,但是当我尝试添加时android-support-v13. jar,使用 FragmentActivity 并在旧版本上启动它,片段之间的动画会导致应用程序崩溃并出现以下错误:

拜托,你能告诉我如何使用 objectAnimator 或如何使用常见的 Android 动画创建翻转动画吗?

UPD:我也尝试使用http://nineoldandroids.com/,但我不明白它如何用于活动过渡动画。

0 投票
0 回答
368 浏览

android - Android如何根据其高度/宽度为视图设置动画

嗨,我正在尝试ObjectAnimator根据视图的大小在屏幕内外转换/缩放视图的大小。

到目前为止,我设法利用ViewTreeObserver.OnGlobalLayoutListener它来检查填充时的大小。

这适用于具有不需要的副作用的静态大小菜单,它会在我隐藏它之前显示一秒钟。但是,现在我需要使用其中一个视图的高度同时为两个对象设置动画。

例如,我有 MapView 全屏显示。当用户触摸屏幕上的按钮之一时,我想缩放 MapView 以为传入视图腾出空间。然后传入的视图转换为视图以显示其内容。

我知道这在平板电脑上是可能的,因为出租的 Trulia与我想要的效果几乎相同。有没有办法实现这一点,但用动态高度代替?

0 投票
2 回答
36571 浏览

android - 如何通过 ObjectAnimator 旋转可绘制对象?

像这样很好地绘制一个可绘制的作品:

但是如果我想像下面这样旋转一个drawable,它就行不通了。

任何人都可以帮我解决这个问题,或者这些是创建旋转可绘制动画的任何其他方式。

我很抱歉我的英语不好。

0 投票
0 回答
2402 浏览

android - 是否可以使用 Android Animator 为 DialogFragment 条目设置动画?

当用户单击我的应用程序上的按钮时,DialogFragment我有一个。show()

我想设置一个动画以DialogFragment在它启动时进行 Z 轴旋转(即 3d 卡片翻转动画)。

当显示时,我已成功使用windowAnimationStyle和以下样式来制作简单的动画(使用 View Animation 框架)DialogFragment

问题是 View Animation 框架(据我所知)非常有限,并且我能够做的唯一旋转(至少在 xml 上)是 2D XY 旋转(我想要一个“3D " z 轴旋转)。

我尝试使用 Property Animation 框架(特别是Object Animator,用 XML 编写),但是,Fragments当我尝试将 XML 应用到属性,没有任何反应。ObjectAnimatorwindowEnterAnimation

那么,我想知道会发生什么?是否可以使用 ObjectAnimator 为 windowEntry 事件设置动画?如果没有,还有其他解决方案吗?

0 投票
1 回答
659 浏览

java - 尽管对我来说一切正常,但 Object Animator 会引发运行时异常。请指出是什么原因造成的

在添加对象动画器来为 ImageView 设置动画之前,它运行良好。但是在创建动画后,它开始抛出运行时异常。尽管我知道是动画师造成的,但我无法弄清楚问题是什么,因为如果我删除了动画师初始化的代码,它就可以正常工作。请任何人帮我解决这个问题。谢谢!这是运行时异常的堆栈:

这是我的代码:

0 投票
2 回答
5580 浏览

android - 3 窗格布局片段动画卡顿

实施信息: 我已经实施了一个 3 窗格布局,遵循 CommonsWare 对他自己的问题的回复:Gmail 三片段动画场景的完整工作示例?

作为一个总体思路,我的布局由以下级别(1 到 3)组成:

  1. MainActivity
  2. SlidingMenu(Side Drawer UI 模式)片段隐藏在左侧,ContentFragment作为容纳 3 窗格布局的片段。
  3. ContentFragment: LeftListFragment(每行有 3 个 TextViews 的行), MiddleListFragment(每行有 8 个 TextViews 的行), DetailFragment.

LeftListFragmentMiddleListFragment用于CursorLoadersContentProvider每个列表中加载数据。DetailFragment还需要在需要时使用带有数据的游标。所以我什至没有实现自定义Adapters(这种方式更好的设计)。然后我添加了 3 窗格布局 + 动画。就工作而言,它按预期工作,没有问题。Animation时间为 500 毫秒。

问题: 动画有点卡顿。一些丢帧。当左侧和中间都可见并且我单击中间列表项以打开详细信息时;以及当我点击后退按钮再次查看左侧和中间列表时(实际上没有加载任何内容)。

我试过的:

  1. 删除了加载片段的代码DetailView。我只需点击一个项目,MiddleFragment动画就开始了,实际上没有加载任何细节。还是口吃。此外,当回击时,没有任何负载并且它仍然口吃,所以我认为加载器/光标不是造成这种情况的原因。
  2. 我使用 dumpsys gfxinfo 来查看计算每一帧的平均时间(以毫秒为单位)。实际上,计算的平均时间是 18 毫秒,高于 16 毫秒的阈值。那么这是否意味着口吃是因为在制作动画时再次绘制列表需要时间?如果是这样,为什么?我的意思是......我在行视图中根本没有任何图像。而且我不能搞砸适配器代码,因为我还没有写任何...
  3. Animation将时间从 500 毫秒减少到 200 毫秒。如果你仔细观察它仍然会卡顿,它只是更快。

编辑:我从下面切换rightPaneWidthleftPaneWidth下面(是的,这删除了重新调整尺寸的动画),现在口吃消失了。该列表仍向左侧滑动,但宽度并没有变小。因此,如果现在不再出现口吃,这是否意味着我的代码中的 ObjectAnimator 存在问题?

谢谢你的时间 !

3 窗格布局的代码:

ContentFragment 的 XML:

0 投票
1 回答
1678 浏览

android - 使用 Object AnimatorAndorid 进行对角线平移

我正在尝试使用 Android 中的对象动画器进行对角线平移。以下代码在 Y 轴上进行平移。

有什么建议么?

提前致谢