按钮上的停止动画单击图像

时间:2012-03-22 10:20:08

标签: android

我正在将动画添加到imageview中,我希望它保持在动画状态,直到按下时按钮按下按钮将其移动到之前的状态 这是我的代码,使用setFillAfter不要让它恢复并将其设置为false它不会保持动画状态

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        i=(ImageView)findViewById(R.id.imageView1);
        d=(Button)findViewById(R.id.button1);
        a=new AnimationSet(false);
        ScaleAnimation s=new ScaleAnimation(0, 2, 0, 2);
        TranslateAnimation t=new TranslateAnimation(0, 100, 0, 0);

        a.addAnimation(s);
        a.addAnimation(t);
        a.setRepeatCount(0); 
        a.setDuration(500);     
        a.setFillAfter(false);

        a.setInterpolator(new AccelerateDecelerateInterpolator()); i.clearAnimation();

        d.setOnClickListener(new OnClickListener() {

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

            i.clearAnimation();
            }
        });

        i.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub

                i.startAnimation(a);
                System.out.println("OnTouch called>>>>>>>>>>>");
                return false;
            }
        });
    }

1 个答案:

答案 0 :(得分:1)

将重复模式更改为无限

a.setRepeatMode(Animation.INFINITE);

并使用动画侦听器,所以现在您可以随时启动动画并停止动画。有关更多详细信息。见This Details example