android小部件中的进度条在真实终端中没有动画

问题描述

我正在设计一个小部件,其中包含一个具有我自己的动画和样式的 ProgressBar。

为此,我定义了一个带有图层列表的可绘制对象:

refresh_animation_indeterminate.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate
            android:drawable="@mipmap/ic_refresh"
            android:interpolator="@android:anim/linear_interpolator"
            android:pivotX="50%"
            android:pivotY="50%"
            android:fromdegrees="72"
            android:todegrees="1440"/>
    </item>
</layer-list>

然后是使用此 drawable 的样式

    <style name="WidgetProgressBarStyle" parent="@android:style/Widget.ProgressBar">
        <item name="android:indeterminateDrawable">@drawable/refresh_animation_indeterminate</item>
    </style>

然后我在小部件中的 ProgressBar 中使用样式

        <ProgressBar
            android:id="@+id/widgetProgressBar"
            style="@style/WidgetProgressBarStyle"
            android:layout_width="50dp"
            android:layout_height="50dp" />

我遇到的问题是,虽然 ProgressBar 在 AVD 模拟设备中没有问题(我尝试使用 API 30 和 24、Pixel 2 XL 和 Pixel 3a XL 使用几个模拟设备),但在真实终端模拟中没有超越第一帧的进展;也就是说,图标卡在 72 度(=fromdegrees)。我试过两台三星设备(一台带有 API 30,另一台带有 API 24 的旧设备)和一台带有 API 28 的 LG。它们都是一样的。但同时在模拟器中完美运行。

在这里遗漏了什么吗?为什么它在模拟器中有效,而在真实终端中无效?有什么我应该为真实终端配置的吗? (无论是在我的应用程序中还是在终端中)

非常感谢! (对不起,如果我没有填写正确的信息,因为这是我第一次在这里发布问题)

解决方法

我想我找到了答案。我在第 4 个终端中尝试过,它在那里工作。问题与我使用的 Windows 管理器有关。 在我有“Go Launcher”的终端中,小部件中的动画无法正常工作,这就是它们没有动画的原因。如果我在设备中使用默认的 Windows 管理器,则一切正常且流畅