Android fadeAnimation部分工作

时间:2012-08-20 15:30:40

标签: android android-layout rotation android-animation rotateanimation

我正在尝试在先前使用RotateAnimation旋转的布局上制作动画。我想做的动画是fadeIn和FadeOut,视情况而定

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工作任何帮助将不胜感激。感谢

编辑:无法解决这个问题。任何人?

2 个答案:

答案 0 :(得分:0)

我使用fadeout动画:

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

中调用动画

答案 1 :(得分:0)

似乎它是android上的一个错误。无法想出如何解决它。 无论如何,我发现了另一种方法。而不是使布局旋转我只旋转UIElement我需要旋转并创建我想要动画两次的元素。一个用于垂直位置,另一个用于水平位置。

这是我找到的唯一方法