0

我有一个ImageView动画,startAnimation()可以将其滑入屏幕。它在 中可见并已启用XML。当我Handler为延迟或onClick事件添加 a 时,什么也没有发生。当我删除startAnimation()一切正常。当然动画除外。

这是我的代码:

balloon.setOnClickListener(new OnClickListener() {
   @Override
    public void onClick(View view) {
       view.setVisibility(View.GONE);
    }
});

Animation dropDown = 
   AnimationUtils.loadAnimation(context, R.anim.balloon_slide_down);
dropDown.setStartOffset(1500);

balloon.startAnimation(dropDown);

任何想法为什么会这样?我现在很沮丧...

谢谢,

罗恩

4

3 回答 3

0

动画只给你一个动画,图像视图将被滑动,但实际上图像视图的位置没有改变

如果你想改变它,你可以使用 layoutparams 移动它并在 UIthread 中循环它

于 2012-11-12T17:43:31.777 回答
0

您的 ImageView 可能不在您认为的位置。尝试在动画之前在 ImageView 上设置偏移量。

balloon.offsetTopAndBottom(offset);
//Start Animation from -offset
于 2012-11-12T16:58:27.290 回答
0

好吧...我觉得奇怪的是ÌmageView不应该在它显示的位置。所以我发现只是在setVisibility()某种程度上不起作用。

我将代码更改为以下内容,并且可以正常工作:

balloon.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View view) {
           ((ViewGroup) balloon.getParent()).removeView(balloon);
      }
});
于 2012-11-13T09:50:20.093 回答