我的片段中有一个相对布局列表。我希望使用PlaySequentially()使用AnimatorSet按顺序为这些视图设置动画。我在for循环中的每个relativelayout上创建一个ObjectAnimator。我希望布局从片段的底部依次动画起来。在那一刻,只有第一个相对布局是动画,我不知道为什么?其余的布局仍然保持不变。下面是我的代码。
AnimatorSet myanimset;
List<Animator> animlist = new List<Animator>();
for (int i = 0; i < count; i++)
{
//resources are drawables in a list
animatedviews[i].SetBackgroundResource(resources[i]);
//animatedviews is a list of relativelayouts
ObjectAnimator animator = ObjectAnimator.OfFloat(animatedviews[i], "translationY", 800f, 0f);
animator.SetDuration(2000);
animator.RepeatMode = ValueAnimatorRepeatMode.Restart;
animator.RepeatCount = ValueAnimator.Infinite;
animlist.Add(animator);
}
myanimset = new AnimatorSet();
myanimset.PlaySequentially(animlist.ToArray());
myanimset.Start();
我认为代码看起来不错?但看到只有一个布局正在动画我想知道问题是否在列表中传递我的relativelayouts?如果有人对AnimatorSet有更深入的了解,可以告诉我我做错了什么id真的很感激。谢谢!