0

私は正確に 510 個の画像 (animation0000 から animation0510 までと呼びます) を提供されており、これらの画像すべてを継続的にループするアニメーション imageview を作成したいと考えています。

提案どおりにアニメーション リストを使用しましたが、アプリケーションを起動しようとすると次の例外が発生します。

01-20 18:20:49.024: E/AndroidRuntime(24340): 致命的な例外: メイン 01-20 18:20:49.024: E/AndroidRuntime(24340): java.lang.OutOfMemoryError 01-20 18:20:49.024: E/AndroidRuntime(24340): android.graphics.BitmapFactory.nativeDecodeAsset(ネイティブ メソッド) 01-20 18:20:49.024: E/AndroidRuntime(24340): android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502) 01-20 18:20:49.024: E/AndroidRuntime(24340): android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:355) で 01-20 18:20:49.024: E/AndroidRuntime(24340): Android で。 graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785) 01-20 18:20:49.024: E/AndroidRuntime(24340): android.content.res.Resources.loadDrawable(Resources.java:1992) で 01-20 18:20:49.024: E/AndroidRuntime(24340): android.content.res.Resources.getDrawable(Resources.java:660) 01-20 18:20:49.024: E/AndroidRuntime(24340): android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:282) 01-20 18:20:49.024: E/AndroidRuntime(24340): android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885) 01-20 18:20:49.024: E/AndroidRuntime(24340): android.graphics.drawable.Drawable.createFromXml (Drawable.java:822)

animation-list の各項目は次のようになります。

    <item
    android:drawable="@drawable/z_animation0123"
    android:duration="20"/>

ImageView は次のように含まれていました。

<ImageView 
        android:id="@+id/zzz_animation_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/baby_logo_animation"
        android:layout_centerHorizontal="true"
        />

アニメーションは、次のように onActivity で開始されます。

    // Start zzz animation
    ImageView zImageView = (ImageView) findViewById(R.id.zzz_animation_view);
    zImageView.setBackgroundResource(R.drawable.z_complete_animation);

    AnimationDrawable zAnimation = (AnimationDrawable) zImageView.getBackground();
    zAnimation.start();
4

1 に答える 1

0

これらの 510 個の画像と、それぞれが画面に表示される長さを指す描画可能<animation-list>リソースを作成します。要素で使用android:oneshot="false"して、<animation-list>ループさせます。ImageViewその結果のリソースは、ウィジェットで使用できます。

于 2013-01-20T15:18:30.147 に答える