-2

我正在尝试在以前使用 RotateAnimation 旋转过的布局上制作动画。我想做的动画是淡入淡出,视情况而定

aLayout = (LinearLayout) _context.findViewById(R.layout.layoutId);

    AlphaAnimation fadeIn = new AlphaAnimation(0, 1.0f);
    AlphaAnimation fadeOut = new AlphaAnimation(1.0f, 0);
    fadeIn.setDuration(500);
    fadeOut.setDuration(500);
    fadeIn.setFillAfter(true);
    fadeOut.setFillAfter(true);

根据我申请的情况:

aLayout.startAnimation(fadeIn);

或者

aLayout.startAnimation(fadeOut);

我已经检查过了,动画并没有试图同时开始。行为是我的布局部分淡入。

而不是有“不可见的部分”,然后是“可见的部分”

我只将部分布局“不可见部分”设置为“in le rt”。

这似乎完全是随机的,这就是为什么我要问你,以防你知道它来自哪里。在轮换之前,这个 alpha 的东西效果很好,但是一旦我这样做了,我就会开始出现这种意想不到的行为

我从 2.2 工作到 4.1 任何帮助将不胜感激。谢谢

编辑:无法弄清楚。任何人 ?

4

2 回答 2

0

好像是安卓的bug。想不出怎么解决。无论如何,我找到了另一种方法来做到这一点。而不是让布局旋转,我只旋转我需要旋转的 UIElement 并创建我想要动画两次的元素。一个用于垂直位置,另一个用于水平位置。

这是我找到的唯一方法

于 2012-08-29T14:39:15.567 回答
0

我使用这个使用淡出动画:

public void fadeout(final View view) {
    // Start Fade Animation
    Animation fadeOut = new AlphaAnimation(1, 0);
    fadeOut.setInterpolator(new AccelerateInterpolator());
    fadeOut.setStartOffset(1000);
    fadeOut.setDuration(1000);
    AnimationSet animation = new AnimationSet(false);
    animation.addAnimation(fadeOut);
    view.startAnimation(animation);
}

在设置了我想要在抓取布局根后淡出的活动的内容视图之后,我在 onCreate 中调用它:

    View layoutRoot = findViewById(R.id.splashscreen);
    fadeout(layoutRoot);

至于旋转部分,你可以调用中的动画onConfigurationChanged

于 2012-08-20T16:45:02.767 回答