0

我被困在使用淡入淡出动画后无法保持子布局淡出的情况

FrameLayout mapLayout = (FrameLayout)findViewById(R.id.mapLayout);

Animation fadeAnim = AnimationUtils.loadAnimation(this, android.R.anim.fade_out);
mapLayout.startAnimation(fadeAnim);

请指导我如何在android中实现这一点。当我单击“暂停”按钮并反转效果时,会出现此动画和阴影效果,我将按下“恢复”按钮(对不起,我在阴影视图中使用“暂停”按钮制作了图像,实际上它是“恢复”)

在此处输入图像描述

4

3 回答 3

0

尝试

fadeAnim.fillAfter(true);
fadeAnim.execute();

http://developer.android.com/reference/android/view/animation/Animation.html#setFillAfter(boolean)

于 2012-04-04T10:15:19.973 回答
0

hii makki 您可以在 onclick 事件中设置以下代码

    AnimationSet set = new AnimationSet(true);

Animation animation = new AlphaAnimation(0.0f, 1.0f);
animation.setDuration(50);
set.addAnimation(animation);

animation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, -1.0f,Animation.RELATIVE_TO_SELF, 0.0f
);
animation.setDuration(100);
set.addAnimation(animation);

LayoutAnimationController controller = new LayoutAnimationController(set, 0.5f);
l.setLayoutAnimation(controller);

然后淡出动画

 public static Animation runFadeOutAnimationOn(Activity ctx, View target) {
  Animation animation = AnimationUtils.loadAnimation(ctx,android.R.anim.fade_out);
  target.startAnimation(animation);
  return animation;
}
于 2012-04-04T10:22:15.297 回答
0

以上两个答案都帮助我解决了这个问题,但两个答案都不是我问题的实际解决方案。我提出的解决方案是

我根据需要定义了两个动画

Animation fadeOut = new AlphaAnimation(0f,0.5f);
Animation fadeIn = new AlphaAnimation(0.5f,1f);
fadeOut.setFillAfter(true);
fadeIn.setFillAfter(true);

当我单击“暂停”按钮时,我执行了以下行

mapLayout.startAnimation(fadeOut);

然后从暂停状态恢复,我执行了以下行

mapLayout.startAnimation(fadeIn);

谢谢西蒙和迪帕克!

于 2012-04-04T18:10:57.860 回答