[#10][안드로이드] Fragment 내의 ListView 스크롤 이벤트 감지하여 ImageView 숨기기/보이기

ListView 최상단, 최하단 스크롤 이벤트 감지하기

1. canScrollHorizontally(), canScrollVertically() 함수 이용






canScrollVertically(-1) : 위
canScrollVertically(1) : 아래
이를 이용하여 ListView의 최상단일 때 ImageView(변수명 img) 보이기
중간, 최하단일때 ImageView(변수명 img) 숨기기
// 리스트뷰 스크롤 상태에 따른 imageview visibility 조절
 
        home_brand_list.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView absListView, int i) {
                if (!home_brand_list.canScrollVertically(-1)) {
                    //최상단
                    img.setVisibility(View.VISIBLE);
                    Log.v("알림","home list 최상단. ImageView 띄우기");
 
                } else if (!home_brand_list.canScrollVertically(1)) {
                    //최하단
                    img.setVisibility(View.GONE);
                    Log.v("알림","home list 최하단. ImageView 없애기");
 
                } else {
                    //idle
                    img.setVisibility(View.GONE);
                    Log.v("알림","home list idle. ImageView 없애기");
                }
            }
            @Override
            public void onScroll(AbsListView absListView, int i, int i1, int i2) {
            }
 
        });
cs


결과물




댓글

가장 많이 본 글