안드로이드 개발 질문/답변
(글 수 45,052)
ListActivity를 상속 받아서
ListView를 만들었습니다
addFooterView를 사용하여 리스트의 제일 하단에 gif이미지를 넣어줄려고 하는데
gif는 기본적으로 지원을 하지 않아 AnimationDrawable 을 사용하여 테스트를 해보았습니다
소스의 일부분을 발췌합니다
private void addMoreBannerInFooter(ListView list) {
//##Banner
footLinearLayout2 = new LinearLayout(this);
footLinearLayout2.setTag("imageBanner");
imgBanner = new ImageView(this);
imgBanner.setFocusable(false);
imgBanner.setClickable(false);
imgBanner.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
footLinearLayout2.addView(imgBanner);
imgBanner.setVisibility(ImageView.VISIBLE);
imgBanner.setBackgroundResource(R.anim.banner_anim);
bannerAnim = (AnimationDrawable) imgBanner.getBackground();
list.addFooterView(footLinearLayout2); // ListView 밑에 붙이기
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
bannerAnim.start();
super.onWindowFocusChanged(hasFocus);
}
일반적으로 테스트 프로젝트를 생성하여
onWindowFocusChanged 를 오버라이드 받아 에니메이션을 start시키면 잘 되는데
현제 제가 짜놓은 부분에서는 동작을 하질 않습니다
imgBanner , bannerAnim는 상단에 private로 선언되어 있습니다.
좋은 답변 부탁드립니다.
ListView를 만들었습니다
addFooterView를 사용하여 리스트의 제일 하단에 gif이미지를 넣어줄려고 하는데
gif는 기본적으로 지원을 하지 않아 AnimationDrawable 을 사용하여 테스트를 해보았습니다
소스의 일부분을 발췌합니다
private void addMoreBannerInFooter(ListView list) {
//##Banner
footLinearLayout2 = new LinearLayout(this);
footLinearLayout2.setTag("imageBanner");
imgBanner = new ImageView(this);
imgBanner.setFocusable(false);
imgBanner.setClickable(false);
imgBanner.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
footLinearLayout2.addView(imgBanner);
imgBanner.setVisibility(ImageView.VISIBLE);
imgBanner.setBackgroundResource(R.anim.banner_anim);
bannerAnim = (AnimationDrawable) imgBanner.getBackground();
list.addFooterView(footLinearLayout2); // ListView 밑에 붙이기
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
bannerAnim.start();
super.onWindowFocusChanged(hasFocus);
}
일반적으로 테스트 프로젝트를 생성하여
onWindowFocusChanged 를 오버라이드 받아 에니메이션을 start시키면 잘 되는데
현제 제가 짜놓은 부분에서는 동작을 하질 않습니다
imgBanner , bannerAnim는 상단에 private로 선언되어 있습니다.
좋은 답변 부탁드립니다.