2013-10-30 36 views
0

我正在使用seekbar。我只想通過移動拇指來控制它。阻止Android中的seekbar點擊

如何禁用點擊進度條?

我試過android:clickable="false"但它沒有工作。

我尋找條形碼XML

 <SeekBar 
     android:id="@+id/myseek" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:maxHeight="500dp" 
     android:minHeight="50dp" 
     android:paddingBottom="30dp" 
     android:progressDrawable="@drawable/progress_left" 
     android:thumb="@drawable/left_unlocker_bkg" > 
    </SeekBar> 

我的搜索欄代碼onSeekChangedListner

unlockSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 
        @Override 
        public void onStopTrackingTouch(SeekBar seekBar) { 
         toastText.setVisibility(View.GONE); 
         seekBar.setProgress(0); 
        } 

        @Override 
        public void onStartTrackingTouch(SeekBar seekBar) { 

         if (seekBar.getProgress() < 10) { 
          seekBar.setProgress(0); 
         } 
         toastText.setVisibility(View.VISIBLE); 
         toastText.setText("Slide to Unclock"); 
        } 

        @Override 
        public void onProgressChanged(SeekBar seekBar, 
          int progress, boolean fromUser) { 

         if (progress == 100) { 
          Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
          v.vibrate(100); 
          finish(); 
         } 
        } 
       }); 

目前,用戶可以點擊進度和拇指使我想禁用它。請幫助

+0

你有解決方法嗎? – user1767260

回答

3

你可以使用Android的:啓用= 「假」,但它會顯示禁用效果[變暗你的搜索條。

所以,如果你想顯示啓用seekbar沒有響應拇指活動,實現觸摸事件處理程序返回true,如下所示。

seekBar.setOnTouchListener(new OnTouchListener(){ 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    return true; 
} 
});