gpt4 book ai didi

java - Android:如何在 Java 中按下时停止 gif 图像按钮的动画?

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:30 25 4
gpt4 key购买 nike

我有这个变量:

GifImageButton buttonGifImage = new GifImageButton(this);

我给它添加了一个 gif 动画:

buttonGifImage.setBackgroundResource(R.drawable.gifImage);

当我加载这段代码时,我看到了动画。我想在按下此按钮时停止动画。我试过了,但没用:

buttonGifImage.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_BUTTON_PRESS || event.getAction() == MotionEvent.ACTION_DOWN) {
// Here I would like to stop the animation
// I want to display the same image but without animating
buttonGifImage.setFreezesAnimation(true); //not working
buttonGifImage.clearAnimation(); //not working
}
}
}

有什么停止动画的好方法吗?(考虑到我想再次激 Activity 画)。

或者我必须从这个 gif 图像创建一个 png 图像并用这个 png 调用 setBackgroundResource..?

我试图避免为播放\停止动画 gif 保存 2 个图像(gif 和 png)..

======== 编辑 ========

我的依赖项:

    dependencies {
compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.+'
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
}

我的存储库:

    repositories {
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

最佳答案

使用getDrawable()方法获取GifDrawable对象并调用stop()方法:

((GifDrawable)b​​uttonGifImage.getDrawable()).stop()

或者因为你已经设置为后台资源:

buttonGifImage.setBackgroundResource(R.drawable.gifImage);

使用:((GifDrawable)b​​uttonGifImage.getBackground()).stop()

关于java - Android:如何在 Java 中按下时停止 gif 图像按钮的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40489777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com