2010-05-27 97 views
5

我一直在閱讀文檔,一旦條形圖完成,我無法弄清楚如何取消Seekbar上的「拖動」。如何取消Android Seekbar上的「拖動」動作?

例如,當我拖動欄到最後,我想要發生一個事件。但是,如果我將手指放在屏幕上並將手指拖過SeekBar,即使在重置Seekbar的進度後,它也會始終關閉該事件。我怎樣才能防止這種行爲發生?

感謝

+1

IMO,力消除這樣的事件似乎將導致用戶意外UI行爲。想一想 - 用戶拖動大拇指到最後(你'取消'在這裏拖動),但用戶意識到他們想要拖回去。但現在拖回不起作用,因爲您已取消該事件。 – 2010-05-28 06:43:36

回答

7
seekBarObj.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

     int originalProgress; 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
      originalProgress = seekBar.getProgress(); 
     } 

     @Override 
     public void onProgressChanged(SeekBar seekBar, int arg1, boolean fromUser) { 
      if(fromUser == true){ 
       seekBar.setProgress(originalProgress); 
      }    
     } 
    }); 
+0

這似乎不是最好的想法.. http://stackoverflow.com/a/16236736/1068800 - >這工作完美.. – Neela 2015-10-21 10:40:11

10

嘗試this..it工作正常..

mSeekBar.setEnabled(false); 
+1

這是答案... @alex請標記爲這樣 – 2014-02-27 14:10:34

+7

這不是答案,通過禁用seekbar,你可以改變它的drawables狀態,因此它的顏色 – artkoenig 2014-07-04 14:56:50