Как использовать GIF-изображение в качестве ProgressBar? - PullRequest
0 голосов
/ 24 сентября 2018

GIF изображение снова не видно, когда оно прошло при нажатии кнопки.Это работает в первый раз, но не работает с событием нажатия кнопки;

Я загружаю GIF в просмотре изображений, используя приведенный ниже код;

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

GIF пропал код ниже;

ImgV.setVisibility(View.GONE);

Снова GIF не отображается при нажатии кнопки, используя код ниже:

ImgV.setVisibility(View.VISIBLE);

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Первое решение Загрузите gif снова с

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

после этого изменения видимости

ImgV.setVisibility(View.VISIBLE);

Второе решение Просто попробуйте позвонить

ImgV.invalidate()

0 голосов
/ 24 сентября 2018

Вы можете использовать эту библиотеку, чтобы показать и скрыть GIF при нажатии кнопки GIF Drawable

В своем сборочном билде добавьте следующее:

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);
            }

        }
    });
...