C#, Desarrollo, Xamarin.Forms

Propiedad InputTransparent – Xamarin.Forms


La clase Xamarin.Forms.VisualElement tiene una propiedad llamada InputTransparent , que:

Obtiene o establece un valor que indica si este elemento debe estar involucrado en el ciclo de la interacción del usuario.

Los estados de documentación:

Cuando se establece en true, el elemento será capaz de recibir la entrada. False si el elemento no debe recibir la entrada y debe pasar insumos al elemento a continuación. Por defecto es cierto.

Recientemente Adam Kemp afirmó que:

 Más precisamente, creo que lo que hace es que la vista ignore los toques, lo que permite al padre gestionar en su lugar.

Esta es una declaración más correcta, y suponiendo que sólo estamos tratando con un problema de documentación, veamos un ejemplo del mundo real.

Ejemplo:

En una aplicación pudiese existir un icono de votación que contiene un contador, como el siguiente:

image_thumb1

Hay tres puntos de vista implicados aquí: InputTransparent_thumb

La imagen en realidad tiene un TapGestureRecognizer asociado con él, cuyo propósito es incrementar el contador.

Error

Al parecer el ContentView del contador esta en la parte superior de la imagen, como se puede ver en el código de abajo:

 grid.Children.Add(imageVote, 2, 0); 
grid.Children.Add(contentVote, 2, 0); 

En esta configuración, me encontré con que la imagen no estaba recibiendo el golpecito del usuario.
Para corregir este problema, tuve que añadir:

InputTransparent = true,

Tanto para el contador como para el ContentView, esto permite que el gesto del golpecito fluya a través de la imagen y el contador aumenta cada vez que la imágen se toca.

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s