Las ventajas que te ofrece Microsoft Azure y el mundo.NET

Xamarin.Forms Tips & Tricks | ¿Problemas de márgenes usando un Grid?


posterXamarin.Forms es una gran ayuda a la hora de desarrollar aplicaciones para las tres principales plataformas móviles (Windows, iOS y Android), aunque a veces te puede dar algún que otro quebradero de cabeza. Por ejemplo con los Grids, ya que la interpretación que hace cada una de las plataformas de los controles es muy distinta.

¿Cuál es el problema?

En el caso de los Grids de Xamarin.Forms, Windows es la que lo interpreta de la forma que esperamos como «normal«, mientras que en Android y en iOS, parece que existan márgenes entre las filas y las columnas del grid (además de que son diferentes entre ambas plataformas).

Xamarin-Forms-RowSpacing

La intuición puede engañarte en este caso ya que, si probablemente no has indicado ningún tipo de margen (bueno en Xamarin.Forms lo que hay es padding), pensarás que es problema de los elementos de contenido de cada una de las «celdas» del Grid. Pero, si pones background de colores a esos contenidos, te darás cuenta de que los márgenes entre los elementos son exactos y que se corresponden con las celdas del propio Grid.

¿Cómo puedes solucionarlo?

Para resolver este «problema» tan sólo tienes que hacer uso de una propiedad de los Grids, «RowSpacing» tal y como se muestra en el ejemplo:

<Grid RowSpacing="0">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>;
    </Grid.RowDefinitions>
    <Label Grid.Row="0" Text="Fila 1" />
    <Label Grid.Row="1" Text="Fila 2" />
    <Label Grid.Row="2" Text="Fila 3" />
</Grid>

Así, solucionarías el problema en las tres plataformas y conseguirías prácticamente la «misma» visualización en todas las plataformas; dependiendo de los controles que pongas como contenido de cada una de las celdas del Grid.Xamarin-Forms-RowSpacing-Fixed

Resumen

En definitiva, Xamarin.Forms te aporta muchas ventajas y con un poco de maña y unos cuántos trucos, puedes conseguir que sea realmente muy potente y efectivo a la hora de construir tus aplicaciones 😉

mm

Sobre Santiago Porras Rodríguez

Innovation Team Leader at ENCAMINA | MVP in Developer Technologies. Apasionado por las nuevas tecnologías. Colaboro con la comunidad de desarrolladores escribiendo artículos en mi blog personal y ocasionalmente en CompartiMOSS.com. Además, soy uno de los coordinadores de TenerifeDev, grupo de usuarios de .NET de Tenerife y de otros grupos como Comunidad Office 365. Puedes encontrarme en la red microparticipando en Twitter con el usuario @saintwukong
Esta entrada ha sido publicada en Movilidad, Sin categoría, Xamarin, Xamarin.Forms y etiquetada como , , . Enlace permanente .
Suscríbete a Piensa en Sofware desarrolla en Colores

Suscríbete a Piensa en Sofware desarrolla en Colores

Recibe todas las actualizaciones semanalmente de nuestro blog

You have Successfully Subscribed!

ENCAMINA, piensa en colores