我正在使用自定义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);
}
logcat如下
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)
我使用了here
中的GIFView类感谢您的帮助。
编辑*经过进一步调查,我发现我的基础教程代码存在同样的问题。 gif在我的模拟器上运行正常,但不在我的设备上。 (T989)