0

画面にスライドさせるためにImageViewアニメーション化されたものがあります。startAnimation()で表示され、有効になっていXMLます。Handler遅延またはイベントのを追加してonClickも、何も起こりません。私が削除すると、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

ImageViewは、おそらくあなたが思っている場所にありません。アニメーションの前に、ImageViewでオフセットを設定してみてください。

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

アニメーションは、イメージビューがスライドするアニメーションのみを提供しますが、実際にはイメージビューの位置は変更されません。

変更したい場合は、UIスレッドでループしてlayoutparamsを使用して移動できます

于 2012-11-12T17:43:31.777 に答える
0

ÌmageViewわかりました...表示されている位置にあるべきではないのは奇妙だと思いました。setVisibility()だから私はそれだけがどういうわけか機能していないことを理解しました。

コードを次のように変更しましたが、機能します。

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