Android-动画偏移-如何防止在偏移尚未通过时绘制视图?

Android-动画偏移-如何防止在偏移尚未通过时绘制视图?,android,animation,view,offset,Android,Animation,View,Offset,我正在尝试在1秒后启动动画。我在XML文件中使用了属性“android:startOffset”,但它并没有完全按照我预期的方式工作。我希望在我设置的偏移量通过之前,视图甚至不会在其初始位置(即属性“fromXDelta”和“fromYDelta”中设置的位置)绘制。以下是我的XML: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/and

我正在尝试在1秒后启动动画。我在XML文件中使用了属性“android:startOffset”,但它并没有完全按照我预期的方式工作。我希望在我设置的偏移量通过之前,视图甚至不会在其初始位置(即属性“fromXDelta”和“fromYDelta”中设置的位置)绘制。以下是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:ordering="sequentially"
android:shareInterpolator="false" >

  <translate
      android:duration="2000"
      android:startOffset="1000"
      android:fromXDelta="-70%p"
      android:fromYDelta="0%p"
      android:interpolator="@android:anim/linear_interpolator"
      android:toXDelta="+0%p"
      android:toYDelta="0%p" />

</set>

您可以尝试使用一对持续时间非常短的
alpha
动画,以便在需要时隐藏视图。大概是这样的:

startActivity(new Intent(this, ThankYouActivity.class)); 
overridePendingTransition(R.anim.animation_coming_in, R.anim.animation_coming_out);
<set ...>
    <alpha
        android:fromAlpha="0.0"
        android:toAlpha="0.0"
        android:duration="1"
        android:startOffset="0" />
    <alpha
        android:fromAlpha="0.0"
        android:toAlpha="1.0"
        android:duration="1"
        android:startOffset="1000" />
    <translate
        ...
    />
</set>


或者,您可以在代码中实现这组动画。这样做将使您能够使用
处理程序
在延迟后启动动画,以便在动画启动之前隐藏视图。

嗨,acj,谢谢您的回复。我尝试了您的XML解决方案,它确实起了作用。我也尝试过使用alpha值(尝试使用一个和两个alpha标记),但似乎什么都不起作用。。。我想要一个只使用XML的解决方案。一定有,我就是找不到。@Tiago当你尝试alpha方法时,你看到了什么行为?还有,你还有其他的动画吗?屏幕完全变黑,1秒后,视图已经显示在它的最后位置。是的,我正在运行一个并发动画。实际上,我正试图在startActivity调用之后,用overridePendingTransition方法制作这个动画。上面的XML是第一个参数(即屏幕上显示的活动视图),我也用这些信息更新了我的问题。再次感谢acj。