2012-04-13 4 views
1

imageButtonを新しい場所に移動してOnClickイベントを保持するにはどうすればよいですか?TranslateAnimationの後にImageButtonを移動した後にOnClickListenerの問題が発生する

  1. 私はfillAfter(true)を使用している場合、onclickのは、新しい場所に連れて行かないであろう。

    私はこの上に2つの質問があります。

  2. setAnimationListener(onAnimationEnd)を使用し、layout()を呼び出してImageButtonを新しい場所に移動すると、ImageButtonは新しい開始場所に戻ります。なぜですか?ここ

コード:

tsla = new TranslateAnimation(0.0f,(float) (imgWidth * 0.45)-wh/2,0.0f,(float) (imgHeight * 0.566666667)-wh/2); 
    tsla.setDuration(sleepX); 

    tsla.setAnimationListener(new AnimationListener(){ 
     public void onAnimationStart(Animation arg0) { 
     } 
     public void onAnimationEnd(Animation arg0) { 
      imgBtnChengdu.layout(
       (int) (imgWidth * 0.45), 
       (int) (imgHeight * 0.566666667), 
       (int) (imgWidth - wh - imgWidth * 0.45), 
       (int) (imgHeight - wh - imgHeight * 0.566666667) 
       ); 
     } 
     public void onAnimationRepeat(Animation arg0) { 
     } 
    }); 

    imgBtnChengdu.setAnimation(tsla);  
+0

ありがとう、Janusz ... – SICON

答えて

2

問題はそのAndroidが唯一の新しい場所にボタンのイメージをアニメーション化することです。

これは、onClickエリアが古い場所にあることを意味します。アニメーションの最後にボタンの位置を変更して、ボタン全体をそのビューだけでなく新しい場所に移動する必要があります。

+0

移動の仕方? ** imgBtnChengdu.layout **は正しく設定されていませんか? – SICON

+0

レイアウト機能は、Androidシステムからのみ内部で呼び出す必要があります。ビューの位置を変更するには、ビューのLayoutParametersを変更する方法と、レイアウトに応じて行う方法があります。 – Janusz

+0

ありがとう、私にしよう。 – SICON

関連する問題