2016-07-06 3 views
0

빠른 스크롤이 활성화 된 Gridview가 있지만 스크롤바가 항상 표시되는 것은 아닙니다.Android Gridview fastscroll

그러나 화면의 오른쪽을 클릭하면 스크롤 막대가 표시되지 않아도 빨리 이동합니다. 스크롤 막대를 보여줄 때만 스크롤하도록 어떻게합니까? 감사.

+0

왜'(참) yourGridView.setFastScrollEnabled하지'당신이 그것을 할 때를 숨기기? –

+0

나는 gridview.FastScrollEnabled = true를 가지고 있음을 의미한다; 및 gridview.FastScrollAlwaysVisible = false입니다. 스크롤바는 스크롤하기 시작했을 때만 나타나지만 스크롤 트랙은 보이지 않지만 항상 민감합니다. – js67

+0

그러면 어떤 행동을 원합니까? –

답변

0

실제로 스크롤바를 숨기면 fastscroll을 비활성화/비활성화 할 수 없습니다. 솔루션을 찾았지 만 좀 못생긴 ... 목록을 스크롤 한 후에 스크롤바를 볼 수 있도록 fastcroll을 활성화하고 중지 할 때 스크롤 막대를 비활성화합니다. 당신은 스크롤하고 표시 할 때``(false)를 yourGridView.setFastScrollEnabled;

list.setOnScrollListener(new AbsListView.OnScrollListener() { 
     @Override 
     public void onScrollStateChanged(AbsListView absListView, int scrollState) { 
      if (scrollState == SCROLL_STATE_IDLE){ 
       list.setFastScrollEnabled(false); 
      }else { 
       list.setFastScrollEnabled(true); 
      } 
     } 

     @Override 
     public void onScroll(AbsListView absListView, int i, int i1, int i2) {} 
    }); 
+0

그건 나를 위해 작동하지 않습니다. 스크롤을 시작하면 빠른 스크롤바가 나타나지만 클릭하면 '스크롤 상태 유휴'가 발생하고 빠른 스크롤 막대는 더 이상 보이지 않습니다. 따라서 결코 스크롤을 빨리 할 수 ​​없습니다. – js67