1

カスタム GIFView クラスを使用して、Android でアニメーション GIF を全画面レイアウトで表示しています。gif は、Android API 8 および 16 を実行している AVD で表示およびアニメーション化されますが、Android 4.0.4 を実行しているデバイスでは表示されません。私のデバイスでは、GIFView がレイアウトに追加されていないようです。タイトルバー用のブランクスクリーンセーブです。関連するコードを含めました。

    setContentView(R.layout.fullscreen);
    LinearLayout layout = (LinearLayout) findViewById(R.id.fullscreenlayout);
    layout.setGravity(Gravity.CENTER);
    if (imageType.equals("image/gif")){
        GIFView view = new GIFView(this);
        layout.addView(view);
        view.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
        view.setMovie(loadGifFromWeb(imageUrl, imageSize));
        view.setOnClickListener(imageListener);
    }
    else{

        ImageView imageView = new ImageView(this);
        layout.addView(imageView);
        imageView.setImageDrawable(loadImageFromWeb(imageUrl));
        imageView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
        imageView.setOnClickListener(imageListener);
    }

ログキャットは次のとおりです

     11-19 23:45:09.934: I/dalvikvm(7087): Wrote stack traces to '/data/anr/traces.txt'
     11-19 23:45:10.445: I/dalvikvm(7087): threadid=3: reacting to signal 3
     11-19 23:45:10.465: I/dalvikvm(7087): Wrote stack traces to '/data/anr/traces.txt'
     11-19 23:45:10.955: I/dalvikvm(7087): threadid=3: reacting to signal 3
     11-19 23:45:10.955: I/dalvikvm(7087): Wrote stack traces to '/data/anr/traces.txt'
     11-19 23:45:11.276: I/Adreno200-EGLSUB(7087): <ConfigWindowMatch:2078>: Format RGBA_8888.
     11-19 23:45:11.286: D/OpenGLRenderer(7087): Flushing caches (mode 0)

ここからGIFViewクラスを使用しました

ご協力いただきありがとうございます。

編集*さらに調査したところ、基本チュートリアルコードに同じ問題があることがわかりました。gif はエミュレータでは正常に再生されますが、デバイスでは再生されません。(T989)

4

1 に答える 1