Pues eso… aquí tienes los ejercicios y las soluciones propuestos en el post Trucos para Xamarin.Forms y .NET MAUI en dispositivos. También los tienes disponibles en GitHub.
Los ejercicios eran:
Si quieres, como ejercicio de práctica, puedes hacer lo siguiente:
Ejercicio 1:
Añade un panel (StackLayout) con la orientación horizontal, de esa forma los controles que metas dentro de ese stack se mostrarán uno al lado del otro, pon un Switch seguido de un botón con el texto «Un Switch» y después otro Switch y otro botón con el texto «Otro Switch» (o lo que te de la gana pero que no sea demasiado largo).
En este caso el texto no pillará todo el ancho y verás que no se ve igual en iOS / iPhone que en Android o UWP/Windows.
Si no puedes probarlos en distintos dispositivos emuladores, te pondré la respuesta con algunas capturas de los tres sistemas que utilizo con Xamarin.Forms.
Nota:
Probando el ejercicio, compruebo que el poner más espacios al final, no tienen el efecto deseado, así que… si es iOS usa el valor 6,0 para la propiedad Padding.
Otra cosa interesante que puedes hacer (ejercicio 2) es que las etiquetas estén alineadas en el centro vertical, es decir, para que no se vean con el texto tan arriba, sino en el centro de la propia etiqueta.
Estas son las soluciones
Al ejercicio 1 y 2:
<StackLayout Orientation="Horizontal" Padding="4" Spacing="3">
<Label Text="2 Switch con botones: " VerticalOptions="Center"/>
<Switch />
<!-- Los espacios detrás no se respetan... habrá que usar padding -->
<Button Text=" Un Switch "
Padding="{OnPlatform iOS='6,0', Android='6,0', Default=4}"/>
<Switch />
<Button Text=" Otro Switch "
Padding="{OnPlatform iOS='6,0', Android='6,0', Default=4}"/>
</StackLayout>
Nota:
El valor ColorAzul2 está definido en App.xaml.
En ej ejercicio 2 lo que debes usar es: VerticalOptions="Center"
Capturas de los ejemplos
Aquí te dejo algunas capturas (me gusta que los posts tengan imágenes 😉 )
Ya sabes, pulsa en la imagen para verla en grande.
Y esto es todo.
Lee el post de estos ejercicios porque hay cambios.
Nos vemos.
Guillermo