Shimmer — это библиотека для Android, которая предоставляет простой способ добавления эффекта мерцания к любому представлению в вашем приложении для Android. Он полезен как ненавязчивый индикатор загрузки, изначально разработанный для Facebook Home.

Вы могли заметить эффект мерцания в мобильном приложении Facebook, когда данные загружаются из сети. Библиотека Shimmer используется для отображения анимации при загрузке данных, чтобы сделать пользовательский интерфейс более интересным и привлекательным, вместо использования традиционного ProgressBar.

Эта библиотека добавляет эффект Shimmer к любому пользовательскому представлению, которое мы определяем.
В этом блоге объясняется, как использовать библиотеку Shimmer в ваших приложениях, и приводится пример загрузки данных из API YoutubeData для отображения самых популярных видео.
Ниже приведен пример эффекта мерцания в приложении для Android:

В этом блоге мы узнаем, как использовать Shimmer в вашем приложении для Android. Мы будем извлекать данные из API данных Youtube с помощью Retrofit, а затем отображать данные в RecyclerView. Итак, приступим!

Ниже приведен фрагмент кода для получения эффекта мерцания.

<com.facebook.shimmer.ShimmerFrameLayout
    android:id="@+id/shimmerFrameLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/toolbar"
    shimmer:duration="1000">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="vertical">
        //add your custom view here
        <include layout="@layout/placeholder_item" />
        <include
            layout="@layout/placeholder_item"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/margin5" />
        <include layout="@layout/placeholder_item" />
        <include layout="@layout/placeholder_item" />
        <include layout="@layout/placeholder_item" />
    </LinearLayout>
</com.facebook.shimmer.ShimmerFrameLayout>

Чтобы запустить анимацию, вызовите startShimmerAnimation() из своей активности.

ShimmerFrameLayout shimmerFrameLayout = findViewById(R.id.shimmerFrameLayout);
shimmerFrameLayout.startShimmerAnimation();

Чтобы остановить анимацию, вызовите stopShimmerAnimation() из своей активности.

ShimmerFrameLayout shimmerFrameLayout = findViewById(R.id.shimmerFrameLayout);
shimmerFrameLayout.stopShimmerAnimation();

Шаги по внедрению Shimmer в Android-приложение

Создать проект

Создайте новый проект с java Empty Activity в Android Studio

Добавить зависимости

Добавьте зависимости мерцания в файл Module: app build.gradle и синхронизируйте проект.

dependencies {
    implementation 'com.facebook.shimmer:shimmer:0.1.0@aar'  
}

Создать новый макет

Создайте новый XML-файл макета с именем placeholder_item.xml. В этом файле мы создадим аналогичные представления в соответствии с нашим фактическим представлением списка.

Теперь наше представление-заполнитель готово для добавления в макет активности (activity_main.xml).

Примечание. Я создал действие: MainActivity.java,activity_main.xml

Мы добавим заполнитель 5–6 раз, чтобы он имитировал список.

Мы будем вызывать этот метод в методеstartFetching()действия, чтобы запускать и останавливать анимацию мерцающего эффекта.

Добавьте приведенные ниже значения в соответствующие файлы.

Я использовал Retrofit Client для получения данных из API.

Загрузить исходный код с GitHub:



Загрузить APK из магазина Play:



Дополнительную документацию вы можете найти на странице Шиммера.

Если вам понравилась ❤ статья, не забудьте 👏 похлопать в ладоши и поделиться ею с друзьями.

В случае, если вы обнаружите какую-либо ошибку или у вас есть какие-либо вопросы или вам нужны дополнительные объяснения, пожалуйста, прокомментируйте ниже. Следите за новостями в блогах AndroidDev.

Удачного кодирования😊

Команда CodingWithDarshana!