Добавить спиннинг прогресс для 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>