본문 바로가기

개발이야기/Android

Custom listview의 각 item에 animation 적용하기


개요

안드로이드 custom listview를 사용하면서 parent item view에 각종 animation effect를 주고 싶을때 사용


제공 애니메이션

# Alpha with translate animation : 좌측으로 이동 + 투명도가 변하면서 스르륵 나타나는 애니메이션
# Alpha animation : 투명도가 변하면서 스르륵 나타나는 애니메이션
# Scale animation : 점점 커지는 애니메이션


주요 코드

ListViewAdapter.java
custom list view를 사용하기 위해 BaseAdapter를 상속받은 ListViewAdapter에서 parent view에 animation을 적용하면 각 item에 animation이 적용된다.

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Context context = parent.getContext();
    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.customlist_item, parent, false);
    }
    
    //1) Animation 정의
    Animation ...
    
    //2) CustomListview의 parent item에 animation 정의
    convertView.setAnimation(animation);

    return convertView;
}

코드 다운로드