为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Android 中多次播放动画 drawable?

如何在 Android 中多次播放动画 drawable?

繁星淼淼 2023-06-08 19:14:10
我有一个来自 png 和 android:oneshot="true" 的可绘制动画,因为我不希望动画不断播放,但只有在我激活它时才播放。问题是它只播放一次,当我尝试时myAnimation.play();它不会再次播放。我试过myAnimation.stop();并再次播放,但它使动画在动画结束前停止。当我用 开始动画时,也会发生同样的事情myAnimation.run();,尽管我不知道其中的区别。//in onCreate() methodimageView = findViewById(R.id.imageView);imageView.setBackgroundResource(R.drawable.animation_drawable);myAnimation = (AnimationDrawable) imageView.getBackground();//Triggers in somewhere else in a threadmyAnimation.start();//animation_drawable.xml<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/animation_drawable" android:oneshot="true">    <item android:drawable="@drawable/kapali" android:duration="0"/>    <item android:drawable="@drawable/acik" android:duration="500"/>    <item android:drawable="@drawable/kapali" android:duration="0"/></animation-list>
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

animation_drawable.xml您拥有的中android:oneshot="true",删除它或将其更改为false.

尝试使用

myAnimation.setOneShot(false);

在 start() 方法之前。

当你想停止动画使用

myAnimation.stop();

对于您的情况,在停止动画(或设置 oneshot=true)后,要重新启动动画,请使用

myAnimation.setVisible(/*visible=*/true,/*restart=*/true);
查看完整回答
反对 回复 2023-06-08
  • 1 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信