【问题标题】:Animation set. cant figure out how to make two animations with one image and one animationset动画集。无法弄清楚如何用一个图像和一个动画集制作两个动画
【发布时间】:2014-04-17 03:06:47
【问题描述】:

我在动画集中旋转和平移动画。当用户单击动画集开始的图像时,如果单击一次,它就可以正常工作。当用户再次单击并且该动画停止并在同一图像上开始新动画时,前一个图像丢失或不可见。任何人都可以帮忙吗?谢谢。 如果用户单击图像 3 次以启动 3 个动画,我想将该动画设置为彼此独立。那可能吗? 这是我的代码:

RotateAnimation rAnim;
TranslateAnimation translateanim;

image.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            while (true) {
                if ((count == 2)) {
                    StartAnim();
                    break;
                }

                if ((count == 1)) {
                    StartAnim();
                    break;
                }
        }

        }


    });

private void StartAnim() {

    animSet = new AnimationSet(true);

    rAnim = new RotateAnimation(-30.0F, 0.0F, 1, 0.5F, 1, 0.0F);
    rAnim.setDuration(50);

    rAnim.setInterpolator(new Interpolator() {
        public float getInterpolation(float v) {
            return 0.0F;
        }
    });
    rNum = new Random();
    rAnim.setDuration(50 + rNum.nextInt(150));
    rAnim.setRepeatCount((int) (1500 / rAnim.getDuration()));
    animSet.addAnimation(rAnim);
    translateanim = new TranslateAnimation(2,
            0.0F, 2, 0.1F + rNum.nextFloat() / 2.0F, 2, 0.0F, 2,
            1.0F + rNum.nextFloat());
    translateanim.setDuration(1500);
    animSet.addAnimation(translateanim);
    animSet.setFillAfter(true);


    image2.startAnimation(animSet);

}

【问题讨论】:

    标签: android animation imageview


    【解决方案1】:

    如果用户连续点击图片 3 次,你希望它动画 3 次吗?您可以创建一个名为 animationCount 的整数。然后在调用metodaa()之前检查它是否大于0,如果大于0,则增加animationCount,否则启动动画。然后将 AnimationListener 添加到您的 animSet,以便在 onAnimationEnd 上减少您的 animationCount,然后如果 animationCount 大于 0,则再次启动动画。

    【讨论】:

    • 我想要 3 个动画,比如 3 个新动画。如果一个动画开始那没关系,但如果用户再次点击开始新的动画。但之前让完成。你明白我吗?我尝试添加metoddaa(); ImageView newImage = new ImageView(this);然后他们在那个 newImage 上添加动画集。但没有用。
    • 好的,所以用户再次点击开始一个新的动画,而前一个仍然继续。我建议使用画布并将图像动画化为位图。 Snake google 示例应用程序是一个很好的例子,它可以为多个图像制作动画并添加更多图像。
    • 对画布不太了解,但我会尝试。感谢你们对我的帮助。我会试试那个样本。
    猜你喜欢
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多