gpt4 book ai didi

安卓动画兼容性

转载 作者:行者123 更新时间:2023-11-29 15:19:55 26 4
gpt4 key购买 nike

我目前正在开发一个与 API 14 及更高版本兼容的应用程序。它使用 ObjectAnimators 来制作大量动画。目标是使所有动画与 Android 2.2–2.2.3 Froyo(API 级别 8)及更高版本兼容。我已经开始使用 nineoldandroids 来转换所有的 objectanimator 代码。然而,有一些功能我不确定可以使用什么作为替代,因为我不相信 nineoldandroid 支持它们(我可能是错的)。

以下是当前仅兼容 API 11 的函数列表。我们将不胜感激任何帮助。

设置翻译X设置翻译Y设置阿尔法设置X设置Y设置滚动X设置滚动Y

最佳答案

简而言之:是的,nineoldandroids 确实支持这些。

如果您查看 nineoldandroids 中 ObjectAnimator 的源代码,您会注意到它使用代理来为您要设置动画的属性设置动画。

    PROXY_PROPERTIES.put("alpha", PreHoneycombCompat.ALPHA);
PROXY_PROPERTIES.put("pivotX", PreHoneycombCompat.PIVOT_X);
PROXY_PROPERTIES.put("pivotY", PreHoneycombCompat.PIVOT_Y);
PROXY_PROPERTIES.put("translationX", PreHoneycombCompat.TRANSLATION_X);
PROXY_PROPERTIES.put("translationY", PreHoneycombCompat.TRANSLATION_Y);
PROXY_PROPERTIES.put("rotation", PreHoneycombCompat.ROTATION);
PROXY_PROPERTIES.put("rotationX", PreHoneycombCompat.ROTATION_X);
PROXY_PROPERTIES.put("rotationY", PreHoneycombCompat.ROTATION_Y);
PROXY_PROPERTIES.put("scaleX", PreHoneycombCompat.SCALE_X);
PROXY_PROPERTIES.put("scaleY", PreHoneycombCompat.SCALE_Y);
PROXY_PROPERTIES.put("scrollX", PreHoneycombCompat.SCROLL_X);
PROXY_PROPERTIES.put("scrollY", PreHoneycombCompat.SCROLL_Y);
PROXY_PROPERTIES.put("x", PreHoneycombCompat.X);
PROXY_PROPERTIES.put("y", PreHoneycombCompat.Y);

像往常一样使用 ObjectAnimator(只要确保它是 com.nineoldandroids.animation!

ObjectAnimator anim = ObjectAnimator.ofFloat(yourView, "translationX", 0f, 1f);
anim.setDuration(1000);
anim.start();

编辑:这是一个示例,说明如何在 onTouchListener 中为 View 设置动画。请注意,返回 false 表示监听器尚未使用该事件。

view.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
ObjectAnimator anim = ObjectAnimator.ofFloat(view, "translationX", 0f, 1f);
anim.setDuration(1000);
anim.start();
return false;
}
});

关于安卓动画兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com