10

animation-listを使用せずに XML からインフレートした後、drawable を autostartに設定することは可能AnimationDrawable.start()ですか?

私のanimation-list

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
    <item android:drawable="@drawable/download_light" android:duration="200" />
    <item android:drawable="@drawable/download20" android:duration="200" />
    <item android:drawable="@drawable/download40" android:duration="200" />
    <item android:drawable="@drawable/download60" android:duration="200" />
    <item android:drawable="@drawable/download80" android:duration="200" />
    <item android:drawable="@drawable/download_on" android:duration="300" />
</animation-list>
4

3 に答える 3

6

自動スタート:

<ImageView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:src="@drawable/wave"
  android:layout_centerHorizontal="true"
  />

自動開始しない:

<ImageView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/wave"
  android:layout_centerHorizontal="true"
  />

これは、アニメーション リスト ドローブルを背景として設定すると、 を呼び出すまで自動的に開始されないことを意味しますAnimationDrawable.start()。これがあなたを助けることを願っています。

于 2014-08-18T10:20:51.957 に答える
1


別の API を使用していくつかのデバイスでテストした後、次のことがわかりました。AnimationDrawable.start()

  • ほとんどのデバイスでは自動起動し animation-list ません
  • 一部のデバイス (ほとんどのデバイス 4.4) では、自動起動します

したがって、アニメーションの開始/停止には常にAnimationDrawable.start()andを使用する必要があると思いますAnimationDrawable.stop()

于 2018-03-01T03:06:31.787 に答える
1

AnimationDrawable を ProgressBar android:indeterminateDrawable として設定すると、ProgressBar が表示されると AnimationDrawable が自動的に開始されます。

    <ProgressBar
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal"
        android:minWidth="1dp"
        android:minHeight="1dp"
        android:maxWidth="10000dp"
        android:maxHeight="10000dp"
        android:indeterminate="true"
        android:indeterminateBehavior="repeat"
        android:indeterminateDrawable="@drawable/indeterminate_progess_animation_drawable" />
于 2020-05-14T08:17:25.063 に答える