1

連続して表示される 4 つの画像をアニメーション化したいと考えています。レイアウト XML ファイルでは、ImageView を作成しています。

<ImageView
            android:id="@+id/exercisesAnimated"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:layout_gravity="center_horizontal"/>

私のコードでは、次にAnimationDrawableビアを作成します

private void startAnimation() throws IOException {
    AnimationDrawable animation = new AnimationDrawable();
    String path = "Graphics/" + exercise.getName() + "/";
    InputStream is = getAssets().open(path + "1.jpg");
    animation.addFrame(Drawable.createFromStream(is, null), 800);
    is = getAssets().open(path + "2.jpg");
    animation.addFrame(Drawable.createFromStream(is, null), 800);
    is = getAssets().open(path + "3.jpg");
    animation.addFrame(Drawable.createFromStream(is, null), 800);
    is = getAssets().open(path + "4.jpg");
    animation.addFrame(Drawable.createFromStream(is, null), 800);
    animation.setOneShot(false);

    ImageView imageAnim = (ImageView) findViewById(R.id.exercisesAnimated);
    imageAnim.setBackgroundDrawable(animation);

    animation.start();
}

だから私の問題は、画像の元のサイズの 1/3 のように、アニメーション画像が非常に小さくなることです。これらのサイズは 460x250 です。そのサイズで表示したいと思います。

android:src="@drawable/oneOfTheImages"ImageViewに a を配置するだけでアニメーションを実行しない場合、画像は正しいサイズで表示されます。

どうしたの?

4

1 に答える 1

2

jpg ファイルを res/drawable-nodpi フォルダーに入れて、次のように startAnimation メソッドで Drawables としてプルしてみてください。

getResources().getDrawable(R.drawable.1) // this will pull the 1.jpg file and return a Drawable
于 2013-09-27T19:59:58.890 に答える