2016-07-06 118 views
0

我有一個快速滾動啓用Gridview,但設置爲不總是顯示滾動條。Android Gridview快速滾動

但是,當我單擊屏幕右側時,即使滾動條未顯示,它也會快速滾動。我該如何做到這一點,所以它只顯示滾動條時滾動?謝謝。

+0

爲什麼不'yourGridView.setFastScrollEnabled(真);'當你顯示滾動條和'yourGridView.setFastScrollEnabled(假);'當你隱藏它? –

+0

我的意思是我有gridview.FastScrollEnabled = true;和gridview.FastScrollAlwaysVisible = false。滾動條僅在我開始滾動時出現,但滾動軌道雖然不可見,但總是很敏感。 – js67

+0

你想要什麼樣的行爲呢? –

回答

0

確實隱藏滾動條不會無法禁用快速滾動。 我發現了一個解決方案,但它有點難看......只有當列表已經滾動之前,才啓用fastcroll,因此滾動條可見,並且在停止時禁用它。

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