如何使用 GIF 图片作为 ProgressBar?

How to use GIF image as ProgressBar?

GIF 图片在按钮点击事件中消失后不再可见。它是第一次工作,但不适用于按钮单击事件;

我使用以下代码在图像视图中加载 GIF;

Glide.with(getApplicationContext()).load(R.drawable.loading_progress).asGif().into(ImgV);

GIF消失代码如下;

ImgV.setVisibility(View.GONE);

再次使用以下代码在按钮单击事件中不可见 GIF;

ImgV.setVisibility(View.VISIBLE);

您可以使用此库在单击按钮时显示和隐藏 GIF GIF Drawable

在您的构建中 gradle 添加这些:

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


}
    dependencies {
        implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.+'
    }

在您的 Xml 文件中:

<pl.droidsonroids.gif.GifImageView
    android:id="@+id/gif"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/tenor"
    />

然后在你的Java文件

    GifImageView gifImageView = findViewById(R.id.gif);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (gifImageView.getVisibility() == View.VISIBLE) {
                gifImageView.setVisibility(View.GONE);
            } else {
                gifImageView.setVisibility(View.VISIBLE);
            }

        }
    });

第一次决定 使用

再次加载 gif
Glide.with(getApplicationContext()).load(R.drawable.loading_progress).asGif().into(ImgV);

在那之后改变可见性

ImgV.setVisibility(View.VISIBLE);

第二次决定 试着打电话

ImgV.invalidate()