Добавить спиннинг прогресс для ImageView в Android

У меня есть ImageView, в котором я хочу показать ProgressBar при загрузке изображения с URL. Для загрузки изображения я использую библиотеку VolleyPlus. Вот код для загрузки изображения:

DiskLruBasedCache.ImageCacheParams cacheParams = new DiskLruBasedCache.ImageCacheParams(getApplicationContext(), "CacheDirectory");
cacheParams.setMemCacheSizePercent(0.5f);
SimpleImageLoader mImageFetcher = new SimpleImageLoader(getApplicationContext(), R.drawable.progress, cacheParams);
mImageFetcher.get(image_url, imgView);

Теперь моя проблема в том, могу ли я сделать drawable сделать ProgressBar (R.drawable.progress) внутри ImageView.

1 ответ

Вы используете setDefaultImageResId для изображения, которое будет отображаться во время загрузки и в случае неудачи, но вы не сможете использовать представление. Однако вы можете использовать FrameLayout и ProgressBar за NetworkImageView, чтобы показать ход вращения во время загрузки.

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

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />

    <com.android.volley.toolbox.NetworkImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop" />

</FrameLayout>
Другие вопросы по тегам