1

imageButtonを新しい場所に移動し、OnClickイベントを維持するにはどうすればよいですか?

これについて2つの質問があります。

  1. fillAfter(true)を使用すると、onclickは新しい場所に移動しません。
  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);      
4

1 に答える 1

2

問題は、Androidがボタンの画像を新しい場所にアニメーション化するだけであるということです。

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

于 2012-04-13T08:45:05.220 に答える