Cómo utilizar setOnTouchListener en C # (Xamarin)

Hola chicos puede darme un ejemplo de setOnTouchListener en C #? He intentado de esta manera, pero traigo algunos errores.

Button1.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View arg0, MotionEvent arg1) { x.Text = "1"; } }); 

Usted o bien a. Utilice el evento Touch :

 button1.Touch += (s, e) => { var handled = false; if (e.Event.Action == MotionEventActions.Down) { // do stuff handled = true; } else if (e.Event.Action == MotionEventActions.Up) { // do other stuff handled = true; } e.Handled = handled; }; 

O puede implementar explícitamente la interfaz IOnTouchListener (C # no tiene clases anónimas). Tenga en cuenta que al implementar interfaces Java, también necesita heredar de Java.Lang.Object ya que necesitamos un identificador para el lado Java de la historia (esto obviamente no es necesario cuando usamos el evento Touch ).

 public class MyTouchListener : Java.Lang.Object , View.IOnTouchListener { public bool OnTouch(View v, MotionEvent e) { if (e.Action == MotionEventActions.Down) { // do stuff return true; } if (e.Action == MotionEventActions.Up) { // do other stuff return true; } return false; } } 

A continuación, establézcalo con:

 button1.SetOnTouchListener(new MyTouchListener()); 

Tenga en cuenta que utilizando este último enfoque también necesita que maneje pasar de referencias a objetos que desea modificar en su clase OnTouchListener , esto no es necesario con el evento C #.

 private Button Button1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Button1.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { //do stuff } else if (event.getAction() == MotionEvent.ACTION_UP) { // do stuff } return false; } }); } 

A juzgar por otra pregunta que usted ha preguntado estoy adivinando que necesita para mover el oyente onTouch en el método onCreate

  • ParseInstallation.SaveAsync () que causa UnhandledException en formularios Xamarin Android
  • Cómo personalizar el icono de flecha, el icono de la página y el título de la página en MasterDetailPage - Xamarin.Forms
  • Error de compilación de Android C # Xamarin
  • No se puede agregar Google Play Services a Xamarin Android Project
  • Monodroid - Manejo Haga clic en eventos dentro de las filas ListAdapter
  • MvvmCross: ¿Cómo crear un MvxListView con un adaptador personalizado mediante programación?
  • No se puede obtener SyncAdapter para trabajar en Xamarin
  • Acceso al AssetManager en formularios Xamarin
  • ¿Se ejecutará una aplicación con armeabi sólo en dispositivos armeabi-v7a?
  • Cómo inflar una vista en expansión con una vista de relación de aspecto fija
  • Botón de acción flotante en Xamarin.Forms
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.