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

时间:2015-07-24 02:19:29

标签: android animation android-imageview

我正在使用一堆ImageView个,其中大部分都是动态更新的。我检查图像是否存在于本地存储驱动器上,如果它不存在,我下载图像。虽然这一切都在发生,但我创建了一个CardView并将其显示在屏幕上。我想知道的是如何在我的图像下载时将我的ImageView设置为占位符动画(圆圈加载一个)?我已经尝试过使用.gif,但正如我所读到的那样,android"中没有支持动画"。还有什么其他选择?

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用单独的视图: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。