Android Studio-按下按钮时循环播放动画

时间:2019-07-25 23:25:32

标签: java android loops android-studio animation

我正在制作一个动画,当我按I按钮时可以播放。该动画由我制作的3帧组成。

截至目前,当我按下按钮时,动画开始但没有停止,它只是不断地循环播放。

我想要的是以下内容:

按下按钮时,动画播放一次。直到再次按下按钮,它才会播放。但是,如果在播放动画时按此按钮(又要在完成动画之前中断动画),则动画将重新开始。

这是我按下按钮时播放动画的代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button start = (Button) findViewById(R.id.button);

        start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                ImageView bun = (ImageView)findViewById(R.id.imageView);
                bun.setImageResource(R.drawable.buns);
                AnimationDrawable buns = (AnimationDrawable)bun.getDrawable();
                buns.start();
            }
        });

    }
}

我知道您可以写:

buns.setOneShot(true)

这将导致动画播放一次然后停止,但这不是我想要的解决方案。

谢谢!

1 个答案:

答案 0 :(得分:0)

更新:

我想出了解决方案,以防其他人遇到问题。

似乎我要添加以下行:

buns.setOneShot(true);

之后

buns.start()

这将具有预期的效果,因为动画将在您单击后停止,并且直到再次单击后才开始。

干杯!