gpt4 book ai didi

android - Translation X 动画无论时长如何都会立即结束

转载 作者:太空狗 更新时间:2023-10-29 16:37:55 24 4
gpt4 key购买 nike

我在整个 View 的点击监听器中有以下代码:

    float newPosition = value / MAX_VALUE * scaleWidth; // value is float
ObjectAnimator a = ObjectAnimator.ofFloat(indicatorView, "translationX", indicatorView.getTranslationX(), newPosition);
a.setDuration(2000);
a.addListener(new Animator.AnimatorListener() {

@Override
public void onAnimationStart(Animator animation) {
Log.e("test", "start");
}

@Override
public void onAnimationEnd(Animator animation) {
Log.e("test", "end");
}

@Override
public void onAnimationCancel(Animator animation) {
Log.e("test", "cancel");
}

@Override
public void onAnimationRepeat(Animator animation) {
Log.e("test", "repeat");
}
});
a.start();

无论我做什么,无论我设置的持续时间如何,都不会播放动画,移动的 View 只是移动到新的(正确的)位置。日志输出如下所示:

05-25 12:46:22.477: ERROR/test(2266): start
05-25 12:46:22.477: ERROR/test(2266): end

表示动画刚开始就结束了。我在 4.4.2 设备上测试代码, list 中的最小和目标 SDK 是 19。我没有使用 NineOldAndroids。我正在尝试按照本教程进行操作:http://cogitolearning.co.uk/?p=1290 ,它显然似乎在起作用。

我对这行代码有同样的问题:

indicatorView.animate().translationX(newPosition).setDuration(2000).start();

这是布局 XML:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scale"
android:layout_marginLeft="50dp"
android:layout_marginTop="100dp"
android:layout_width="500dp"
android:layout_height="75dp"
android:background="@android:color/holo_red_light">

<ImageView
android:id="@+id/indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/indicator" />

</FrameLayout>

有什么帮助吗?

编辑: 我下载并构建了上述项目,但那里的动画似乎都不适合我,在互联网上找到的任何代码 fragment 也不行。在我看来,我的手机出了点问题。

最佳答案

我现在觉得自己好傻。原来我在 Android 开发者设置中禁用了动画。我现在所做的是再次启用它们(通过将比例设置为 1x)并重新启动手机 - 它可以正常工作。奇怪的是“旧” View 动画没有任何问题,而"new" View 动画(来自 API 级别 11)却没有。嗯?

关于android - Translation X 动画无论时长如何都会立即结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23854564/

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