![](/img/trans.png)
[英]Android: how to stop animation for a gif image button when pressed in Java?
[英]Android Studio - Looping animation when button is pressed
我正在制作按下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)
這將導致動畫播放一次然后停止,但這不是我想要的解決方案。
謝謝!
更新:
萬一其他人遇到問題,我想出了解決方案。
似乎如果我添加以下行:
buns.setOneShot(true);
后
buns.start()
這會產生預期的效果,因為動畫將在您單擊后停止,並且直到再次單擊后才開始。
干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.