- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个奇怪的行为。如果我使用 start()
启动 AnimationDrawable
,那么在动画完成后,方法 isRunning()
仍将返回 true。它是“一次性”动画,不循环播放。
这是一个示例代码:
public class MyActivity extends Activity {
private AnimationDrawable cartoon;
private ImageView iv;
private BitmapDrawable frame0, frame1;
private final int sleep=1000;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
cartoon = new AnimationDrawable();
cartoon.setOneShot(true);
frame0 = new BitmapDrawable(getResources(), BitmapFactory.decodeResource(getResources(), R.drawable.gridx0));
frame1 = new BitmapDrawable(getResources(), BitmapFactory.decodeResource(getResources(), R.drawable.gridx1));
}
@Override
protected void onStart() {
super.onStart();
if(iv==null) iv = (ImageView) findViewById(R.id.imageView);
cartoon.addFrame(frame0, sleep);
cartoon.addFrame(frame1, sleep);
iv.setImageDrawable(cartoon);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if(cartoon.isRunning()) Log.d("AnimationTest", "Animation already started");
else cartoon.start();
return true;
}
}
这是输出:
02-22 14:18:42.187: DEBUG/AnimationTest(2043): Animation already started
02-22 14:18:52.093: DEBUG/AnimationTest(2043): Animation already started
02-22 14:18:52.166: DEBUG/AnimationTest(2043): Animation already started
...and so on.
因此动画第一次运行,然后 isRunning
将永远返回 true。 I also found similar issue posted to code.google.com , 但它已关闭,没有任何评论
我的问题是:
AnimationDrawable
何时完成?最佳答案
看了the source之后,我只能得出这样的结论,设置成oneshot就是真正的oneshot动画,没有repeat。至少,在不先调用 stop()
的情况下。
如果您在完成后调用 stop()
,那么下一次调用 start()
就可以正常工作(至少在我的测试中是这样)。您如何调用 stop()
由您决定,但您可以安排一个计时器在您调用 start()
时的总持续时间结束后运行它。在这个类中没有回调确实有点糟糕。
如果您将经常使用此机制,则可能值得扩展 AnimationDrawable
以为其提供回调。如果这样做,您应该将它张贴在某个地方,以便将来您自己和他人更轻松。
关于android - AnimationDrawable.isRunning() 总是返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15026558/
我正在尝试为游戏制作背景音乐。由于某种原因,歌曲第一次播放后就不会再播放了。我做错了什么以及如何解决它?我知道我可以使用 .loop() 但我希望它永远重复,并且 .loop() 最终会停止。 pu
我正在创建一个正在创建门(AND、OR 等)的程序,但是当我想创建一个 SR 锁存器时,我需要使用一个计时器。 因此,当调用此方法 (inputChanged) 时,它应该检查计时器是否正在运行。如果
这是我第一次来这个论坛。我的 java 计时器有问题。我的程序在不同时间显示图像。这是我的代码 //TIMER //creo timer per il tempo di visualizzaz
OSStatus err = AudioQueueNewOutput(&audioDescription, AudioPlayerAQOutputCallback, ( void* )self, ni
我遇到了一个奇怪的行为。如果我使用 start() 启动 AnimationDrawable,那么在动画完成后,方法 isRunning() 仍将返回 true。它是“一次性”动画,不循环播放。 这是
我使用以下代码启动嵌入式 Jetty: Server server = new Server(8080); MBeanContainer mbContainer = new MBeanContaine
我正在使用 AVCaptureSession 捕捉视频,在 iOS 6.1 上一切正常。但是,我一直在尝试从另一个线程检查我的捕获 session 是否正在通过 isRunning 方法运行。但是,无
本文整理了Java中org.apache.zookeeper.server.ZooKeeperServer.isRunning()方法的一些代码示例,展示了ZooKeeperServer.isRunn
本文整理了Java中org.apache.twill.zookeeper.ZKClientService.isRunning()方法的一些代码示例,展示了ZKClientService.isRunni
在Java中,我需要检查音频剪辑是否正在运行,但是当我尝试类似的操作时: if(clip1.isRunning()){ } Eclipse给了我以下错误: “类型AudioClip的isRunning
DataLine 中的 isRunning() 和 isActibe() 有什么区别?当线路实际处理数据时,这两个标志似乎都已设置。 更新 那里有两对方法: 1) 打开/关闭 2) 启动/停止 还有三
我正在我的 PI 上测试一个程序。在主机 pc 上运行它时没有显示错误,相反,在 pi (CM3) 上运行它会卡住。 我正在尝试使用多线程。 从主线程开始,在构造函数中启动了一个 QThread,然后
本文整理了Java中org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.isRunning()方法的一些代码示例,展示了WAL
我有一个简单的 SKAudioNode: 让 backgroundSound = SKAudioNode(fileNamed: "backgroundSound.mp3") 我用播放 backgrou
下面是我的 qthread 实现的代码。我正在尝试从卫星获取 gps 数据。即使程序退出 gpsSearch() 槽函数,QThread 也不会产生 finished() 信号。每当单击按钮时,都会调
我是一名优秀的程序员,十分优秀!