Xamarin Forms

Xamarin Forms: El método Device.OnPlatform


Cuando trabajamos en un desarrollo multiplataforma, a veces es necesario que ciertas propiedades se comporten de forma diferente de acuerdo a la plataforma en la que se encuentre ejecutándose.

Una clase que nos puede ayudar a alcanzar dicho objetivo, es la clase estática Device, la cual dentro de sus métodos incluye un método llamado OnPlatform, cuya definición indica que “Ejecuta diferentes acciones dependiendo en el Xamarin.QcuikUI.TargetOS Form que se encuentre ejecutando.

Es decir, que con dicho método, podremos asignar que una propiedad Text aparezca con un texto diferente en cada plataforma, que un tamaño de letra sea diferente en cada plataforma, etc.

La documentación indica que los parámetros de dicho méotod, son opcionales y van ordenados de la siguiente forma:

iOS
(optional) The Action to execute on iOS.
Android
(optional) The Action to execute on Android.
WinPhone
(optional) The Action to execute on WinPhone.
Default
(optional) The Action to execute if no Action was provided for the current OS.

Veamos un ejemplo práctico con un proyecto recién creado en Xamarin Forms:

El código anterior, muestra el código que es creado en un nuevo proyecto tipo Xamarin Forms, lo modificaremos para que muestre un texto de acuerdo a la plataforma en específico:

 

O podemos hacer que un control sea o no visible de acuerdo a la plataforma:

Incluso, podemos implementar un manejador de eventos distinto para un botón en cada plataforma:

Espero que les sea de utilidad

¡Saludos!

Xamarin
Xamarin.Forms – Clase genérica para consumir servicios REST
Xamarin Forms
Xamarin Forms: Consumiendo un servicio web basado en JSON Parte 2: Creando el ViewModel
Recetas
Xamarin.Forms – Agregando un ToolbarItem a tu aplicación
There are currently no comments.