У меня есть флажок с пользовательским изображением для кнопки.Я использовал делегат щелчка для выполнения действия при каждом нажатии кнопки:
box.Click += { //do some stuff... }
Это прекрасно работает.
Однако теперь мне было предложено добавить обнаружение смахивания к этомуфлажок (звучит безумно, но на самом деле это имеет смысл для этого приложения).
Я добавил обнаружение смахивания, используя стандартные методы, к которым я привык в обычном Android в Java: я вложил в класс GestureDetector.SimpleOnGestureListener и также реализовал View.IOnTouchListener.
Я добавил обнаружение прокрутки к флажку следующим образом:
/*
SwipeListener implements View.IOnTouchListener
SwipeDetector is a subclass of GestureDetector.SimpleOnGestureListener
*/
SwipeListener listener = new SwipeListener(new GestureDetector(new SwipeDetector(this)));
box.SetOnTouchListener(listener);
Когда я делаю это, прокрутка работает отлично.Но делегат клика больше не активируется.Я попытался переместить свой код для клика в мой класс SwipeDetector, и это, похоже, сработало.
Но затем я заметил, что мой флажок больше не переходит в состояние «отмечено / выключено», и поэтому мое пользовательское изображение для него никогда не менялось.
Я знаю, что это должно быть что-то простое, но я не вижу этого ... Как правильно сделать щелчок и пролистывание вида (флажок) в Android / MonoDroid?