0

我想创建一个应该显示移动图像效果的进度条。为此我创建了一个动画列表并保存在我的可绘制文件夹中。这是代码:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/p_one" android:duration="150" />
    <item android:drawable="@drawable/p_two" android:duration="150" />
    <item android:drawable="@drawable/p_three" android:duration="150" />
    <item android:drawable="@drawable/p_threesix" android:duration="150" />

</animation-list>

之后我像这样使用了这个drawable:对于我的ProressBar Drawable

  <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:indeterminate="true"
        android:indeterminateOnly="true"
        android:indeterminateDrawable="@drawable/progress_bar_anim"
        android:visibility="visible" />

问题:运行此代码时没有显示任何内容。为什么 ?当我使用任何单个图像而不是动画列表可绘制对象时,它会正确显示。还有其他的吗?

4

2 回答 2

0

这里有类似的奇怪问题,我尝试了两个不同的设备,A 工作得很好,B 显示了两个水平图像,我添加<clip><item>,A 变得不工作,B 工作得很好,所以......最好不要<animation-list>在 progressBar 中使用......

于 2016-12-05T10:53:38.597 回答
0

尝试在属性中添加android:oneshot="false"如下<animation-list ..>

<animation-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">
   ...
</animation-list>

android:oneshot="false"

布尔值。如果您想执行一次动画,则为“true”;“false”循环动画。

Frame动画的Android开发者链接

于 2015-11-21T11:34:34.747 回答