android - 从网络加载图像时的占位符动画

标签 android animation android-imageview

我正在使用一堆 ImageView,其中大部分是动态更新的。我检查图像是否存在于本地存储驱动器上,如果不存在,我下载图像。当这一切发生时,我创建了一个 CardView 并将其显示在屏幕上。我想知道的是如何在我的图像下载时将我的 ImageView 设置为具有占位符动画(圆圈加载动画)?我试过使用 .gif 但正如我所读,android“开箱即用”不支持动画。还有哪些选择?

最佳答案

最简单的方法是使用单独的 View :ProgressBar。每个图像单元格都是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/container">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ImageView>

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true">
    </ProgressBar>
</RelativeLayout>

ProgressBar 的命名不是很恰当,因为它的样式可以看起来像其他形状而不是条形。这种特殊的风格使它看起来像一个圆形的加载微调器。只需确保在加载图像后将微调器可见性设置为 View.INVISIBLE。

关于android - 从网络加载图像时的占位符动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31601157/

相关文章:

android - 如何压缩图像大小?

swift - 无法访问 UIImageView 的当前位置

android - 同一个 Scroll View 中的 Image 和 ExpandableListView

java - 如何在 android 中使用 java 将 ImageView 添加到空布局

android - 同一个 APK 中的多个应用

Android Ion 缓存刷新

android - 对任务 killer 隐藏你的应用程序

python - 有没有一种简单的方法可以在 matplotlib 中为滚动的垂直线设置动画?

android - 多个 View 和动画滞后

java - 如何在 GridView 中交换图像 (Android)