API 级别 < 11 中的 ObjectAnimator

Posted

技术标签:

【中文标题】API 级别 < 11 中的 ObjectAnimator【英文标题】:ObjectAnimator in API Level < 11 【发布时间】:2012-07-22 15:19:45 【问题描述】:

所以我对 android 感到非常沮丧,事实上,当您将 API 级别回滚到 11 之后时,一半的东西都不起作用。为什么不像 ios 那样简单且做得很好?!

问题 我正在使用ObjectAnimatorsFragments 之间的过渡设置动画。它们在任何 API 级别 11 及以上的环境中都能正常工作。一旦我将构建目标更改为小于 11,我就会遇到问题,说它在 xml 文件中找不到诸如 propertyNamevalueType 之类的属性的资源标识符。

问题 我应该改用什么来为我的Fragment 转换动画,这将适用于 API 级别 > 7。

提前致谢。

【问题讨论】:

Property Animation 在 Android 3.0(API 级别 11)中引入。 对于菜鸟查询感到抱歉。我知道我们无法构建 pre-3.0,但这是否也意味着使用 Property 动画的动画(在使用 4.4 构建的应用上)将不会在 pre-3.0 的设备上运行? 【参考方案1】:

我建议使用 http://nineoldandroids.com/ ,它来自 ActionBarSherlock 项目的同一制造商,它引入了从 API 1 开始工作的支持 ObjectAnimator。

【讨论】:

但是,如何集成nineoldandroids并支持片段动画? 可悲的是,即使在 appcompat-v7 18.0 之后也是如此 :( 即使对于 appcompat-v7 20.0。但是我不会再期待了。 Welp,AppCompat v21 中也没有。希望有一天我们能做到这一点。 AppCompat v22 中也没有。【参考方案2】:

Property Animation 在 Android 3.0(API 级别 11)中引入

为了支持较低的android版本,(我没试过,但你可以用)

Nine Old AndroidsDownload

Android 库,用于在所有版本的平台上使用 Honeycomb (Android 3.0) 动画 API 回到 1.0!。

也可以看看这个博客Fragment Transactions Reference

还有这个问题Android Fragment standard transition not animating

【讨论】:

AFAIK,支持库不包含属性动画类。 调用需要 API 级别 12(当前最低为 11):android.view.ViewPropertyAnimator#scaleX 九个旧机器人现已弃用。

以上是关于API 级别 < 11 中的 ObjectAnimator的主要内容,如果未能解决你的问题,请参考以下文章

调用需要 API 级别 11(当前最小值为 1)

android:actionBarStyle 需要 API 级别 11

API 级别 11 之前的 AsyncTask.executeOnExecutor()

API 级别低于 21 的状态栏颜色不变

如何修复 Android 中的“调用需要 API 级别 26(当前最低为 25)”错误

从 Google Maps API 中的单个 LatLong 确定缩放级别