http로 gif 이미지를 다운받은 후 AnimationDrawable 로 변환 해 ImageView에 보여 주고 있습니다.
문제는 이미지 재생이 되는 폰도 있고 안되는 폰도 있어서 어떻게 해결 해야할지가 문제입니다.
public void showGifView(InputStream input){
final GifAnimationDrawable drawable;
try {
drawable = new GifAnimationDrawable(input, true);
act.runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
view.setBackground(drawable);
AnimationDrawable frameAnimation = (AnimationDrawable) view.getBackground();
frameAnimation.start();
// view.setImageDrawable(drawable);
// drawable.start();
}
});
input.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("showGifView //// " + e);
}
}
처음 작성한 코드는
view.setImageDrawable(drawable);
이렇게 만 해주면 자동으로 이미지가 플레이 됬었습니다. 그래서 되는줄 알았더니 다른 폰에서 작동을 하지 않았습니다.
view.setBackground(drawable);
AnimationDrawable frameAnimation = (AnimationDrawable) view.getBackground();
frameAnimation.start();
이렇게 사용하면 api16 이상이고 또, 이렇게 사용해도 되는것도 있고 안되는 것도 있더군요.
왜 안되는지 에러도 안나오고 어렵네요.
gif파일 이미지만 나오고 재생은 안되는데 재생이 원활하게 되는 방법( ListView 안에서 ) 을 아시면 답변 부탁 드립니다.