drawable 只旋转一次

drawable rotating only once

我创建了自定义进度条,以便在从网络加载图像时显示在 Fresco SimpleDraweeView 中。我希望进度条不确定 Progressbar 只旋转一次,然后 drawable 就保持静止。这是进度条的 xml 代码。

custom_progress_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fromDegrees="0"
    android:toDegrees="360">

    <shape
        android:shape="ring"
        android:innerRadiusRatio="3"
        android:thicknessRatio="15"
        android:useLevel="false">

        <size android:width="24dip" android:height="24dip" />

        <gradient
            android:type="sweep"
            android:useLevel="false"
            android:startColor="#00FFFFFF"
            android:centerColor="#97A4001D"
            android:centerY="0.50"
            android:endColor="#FFA4001D" />

    </shape>

</rotate> 

Fresco SimpleDraweeView 在另一个布局中使用。

<com.facebook.drawee.view.SimpleDraweeView xmlns:fresco="http://schemas.android.com/apk/res-auto"
                    android:id="@+id/full_view_image"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:adjustViewBounds="true"
                    fresco:actualImageScaleType="centerCrop"
                    android:visibility="gone"
                    fresco:failureImage="@drawable/ic_broken_image_black_24dp"
                    fresco:failureImageScaleType="centerInside"
                    android:background="@color/com_facebook_button_border_color_focused"
                    fresco:progressBarImage="@drawable/custom_progress_bar"
                    fresco:progressBarImageScaleType="centerInside"/>

android:repeatCount="infinite" 添加到 rotate

下的 custom_progress_bar.xml

fresco:progressBarAutoRotateInterval="1000" 将上述属性添加到 SimpleDraweeView 拯救了我。

<com.facebook.drawee.view.SimpleDraweeView xmlns:fresco="http://schemas.android.com/apk/res-auto"
                android:id="@+id/video_thumbnail"
                app:layout_aspectRatio="145%"
                app:layout_widthPercent="100%"
                fresco:failureImage="@drawable/ic_broken_image_black_24dp"
                fresco:failureImageScaleType="centerInside"
                android:background="@color/com_facebook_button_border_color_focused"
                fresco:progressBarImage="@drawable/crafter_progress_bar"
                fresco:progressBarAutoRotateInterval="1000"
                fresco:progressBarImageScaleType="centerInside"/>