首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >单个动画-多个视图

单个动画-多个视图
EN

Stack Overflow用户
提问于 2012-02-10 03:21:10
回答 4查看 32.7K关注 0票数 24

有没有办法同时制作多个视图的动画?

我想做的是翻译动画:

我有5个TextViews和4个彩色条带(带背景的普通RelativeLayouts )。在动画的开始处,stips与TextViews堆叠在水平行中。最后,我希望所有的TextViews都堆叠在条带之间:

这是一幅非常简单的图画,但它演示了我想要做的事情。有没有什么方法可以使用动画,或者我必须使用画布动画。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-10 03:47:11

创建动画对象,然后同时在所有视图上共同使用startAnimation。所以它应该是这样的:

代码语言:javascript
复制
TranslateAnimation anim1;
TranslateAnimation anim2;
TranslateAnimation anim3;

// Setup the animation objects

public void startAnimations()
{
   //... collect view objects
   view1.startAnimation(anim1);
   view2.startAnimation(anim2);
   view3.startAnimation(anim3);
}

只需注意,你一次运行的动画越多,速度就会越慢。

票数 7
EN

Stack Overflow用户

发布于 2012-11-22 13:42:30

可以使用ObjectAnimator设置多个视图的动画,如下所示:

代码语言:javascript
复制
ArrayList<ObjectAnimator> arrayListObjectAnimators = new ArrayList<ObjectAnimator>(); //ArrayList of ObjectAnimators

ObjectAnimator animY = ObjectAnimator.ofFloat(view, "y", 100f);
arrayListObjectAnimators.add(animY);

ObjectAnimator animX = ObjectAnimator.ofFloat(view, "x", 0f);
arrayListObjectAnimators.add(animX);
...
ObjectAnimator[] objectAnimators = arrayListObjectAnimators.toArray(new ObjectAnimator[arrayListObjectAnimators.size()]);
AnimatorSet animSetXY = new AnimatorSet();
animSetXY.playTogether(objectAnimators);
animSetXY.setDuration(1000);//1sec
animSetXY.start();
票数 58
EN

Stack Overflow用户

发布于 2017-12-11 16:06:04

您可以使用AnimationSet

代码语言:javascript
复制
AnimatorSet decSet2 = new AnimatorSet();
        decSet2.playTogether(
                ObjectAnimator.ofFloat(view, "x",dX),
                ObjectAnimator.ofFloat(view, "y",dY),
                ObjectAnimator.ofFloat(mTextCancel, "x",dX),
                ObjectAnimator.ofFloat(mTextCancel, "y", dY),
                ObjectAnimator.ofArgb(mBtnOne, "visibility", View.VISIBLE, View.GONE),
                );
        decSet2.setDuration(0);
        decSet2.start();
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9217305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档