0

アプリケーションに画像があります...開始ボタンをクリックすると、画像を回転させる必要があります.停止ボタンをクリックすると、画像は元の位置に設定されます...代わりに、画像を正確な位置で停止させたい位置..これが私のコードです

public class MainActivity extends Activity {

    ImageView my_image;
    AnimationListener listener;
@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    listener = new AnimationListener() {
        @Override public void onAnimationStart(Animation animation) {}
        @Override public void onAnimationRepeat(Animation animation) {}
        @Override
        public void onAnimationEnd(Animation animation) {
            System.out.println("End Animation!");
            //load_animations();
        }
    };

    my_image=(ImageView)findViewById(R.id.imageView1);
    load_animations();
    Button start=(Button)findViewById(R.id.button1);
    Button stop=(Button)findViewById(R.id.button2);


}
void load_animations()
{
    Button start=(Button)findViewById(R.id.button1);
    Button stop=(Button)findViewById(R.id.button2);

    new AnimationUtils();
    final Animation rotation = AnimationUtils.loadAnimation(this, R.anim.animation);
    rotation.setAnimationListener(listener);
    start.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
             my_image.startAnimation(rotation);
        }
    });
    stop.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        my_image.clearAnimation();  

        }
    });

}

}
4

2 に答える 2

0

load_animations() メソッド内で以下のコードを使用します。

final Animation rotation = AnimationUtils.loadAnimation(this, R.anim.animation);
rotation.setDuration(10000000);
rotation.setAnimationListener(listener);
于 2013-10-01T05:52:44.803 に答える