Я хотел бы зарегистрировать событие clickable на большом пальце, чтобы открыть действие, когда пользователь установил его. Является ли это возможным? Я нашел аналогичный вопрос здесь Seekbar's thumb on click, но не нашел ответа. Я не хочу, чтобы переместить панель поиска, но хочу открыть активность, когда пользователь нажимает только на удары.Большой указатель искателя на клик-листере
3
A
ответ
0
Это срабатывает, когда пользователь нажимает на большой палец. См. Начало onProgressChanged() Надеюсь, это поможет. :)
Если у вас есть какие-либо вопросы о том, как это работает, не стесняйтесь комментировать.
mSeekBarSpeed.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progress = mSeekBarSpeed.getProgress();
boolean started = false; //use this variable to see whether the user clicked the right place
@Override
public void onProgressChanged(SeekBar seekBar, int progressValue, boolean fromUser) {
if(!started){ //check to see if user clicks the right place
//if the user clicks within a specific threshold
float threshold = (float)seekBar.getMax()/seekBar.getWidth() * seekBar.getThumb().getIntrinsicWidth()/2;
if(Math.abs(progressValue - progress) < threshold){
if(fromUser){ //checks if user actually clicked it
started = true;
//IF YOU WANT TO DO SOMETHING RIGHT WHERE THE USER CLICKS IT HERE IS THE PLACE
}
}else{
seekBar.setProgress(progress); //set to original progress
onStopTrackingTouch(seekBar); //not really necessary, keep or delete based on your needs
return; //get out of method
}
}
if(started) {
progress = progressValue; //update progress variable
System.out.println("onProgressChanged:" + progress + "/" + seekBar.getMax());
//DO WHAT YOU NEED TO DO WHEN PROGRESS IS CHANGING
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
System.out.println("onStartTracking:" + progress + "/" + seekBar.getMax());
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
System.out.println("onStopTracking:" + progress + "/" + seekBar.getMax());
//DO WHATEVER YOU NEED TO DO WHEN PROGRESS IS DONE CHANGING
started = false; //remember to set variable to false
}
});
Смежные вопросы
- 1. Большой указатель искателя на планшете
- 2. Указатель на указатель на указатель
- 3. Указатель на указатель на указатель
- 4. C++ подстроки - это указатель на диапазон строки (загрузка большой файла)
- 5. кастинг указатель на указатель ... на указатель?
- 6. C++ многопоточный указатель на указатель на указатель
- 7. Как изменить указатель на указатель на указатель?
- 8. Может ли указатель на указатель на указатель?
- 9. C - указатель на указатель на указатель
- 10. Указатель на указатель на структуру
- 11. Указатель на указатель на LinkedList
- 12. указатель на указатель на массив
- 13. Указатель на указатель на массив
- 14. Указатель на указатель на массив
- 15. Указатель на указатель на Struct
- 16. Раздвижная 1 стрелка вызывает Оба искателя, чтобы сменить превью
- 17. Необходимость указатель на указатель
- 18. Указатель на указатель Арифметика
- 19. Указатель на указатель
- 20. Указатель на указатель функции
- 21. Указатель на указатель управляемый
- 22. Указатель на указатель Array
- 23. Указатель на указатель проблемы
- 24. Указатель на указатель вопроса
- 25. Общий указатель на указатель
- 26. Указатель на указатель вопроса
- 27. Указатель на указатель C++
- 28. Указатель на указатель на функцию функции Void
- 29. Ошибка таймаута соединения для искателя при использовании Jsoup для искателя
- 30. Размер факсимильного искателя
возможно дубликат [эмпирическое SeekBar на клик] (http://stackoverflow.com/questions/11684463/seekbars-thumb-on-click) – Marcus
Да. Его дублирующий вопрос. Я также упоминаю об этом, но правильного ответа нет. См. Последний комментарий «Я хочу, чтобы можно было щелкнуть только в большом пальце. Этот слушатель запускается нажатием на каждую часть строки поиска». Я тоже в том же положении. Пожалуйста, помогите мне. Я много искал, но не смог найти ответ – user2504840