[Xamarin] BusyIndicator personalizado para Xamarin.Forms

BusyIndicator.xaml

Empezamos creando un ContentView que contenga un Frame con un ActivityIndicator. En caso queramos agregar un texto podriamos poner un StackLayout que contenga el ActivityIndicator y un Label. Ya queda a tu imaginación o a los requerimientos para mejorar esta vista básica.

BusyIndicator.xaml.cs

Creamos un BindableProperty para dar soporte a DataBinding. Aunque en el ejemplo que viene no lo uso, sería ideal establecerlo de esta forma por si en algún momento definimos algún ViewModel o su DataContext.

SplashPage.xaml

Hacemos referencia al namespace donde se encuentra nuestro BusyIndicator.

SplashPage.xaml.cs

Y ya esta listo para usar. No olviden que también se puede definir el valor de la propiedad IsBusy desde el XAML.

[Xamarin] Fuentes personalizadas en aplicaciones Xamarin.Forms

Para el presente post usaré 2 fuentes (Magistral.otf y RadicalBeat.ttf) y quiero hacer recordar que para conocer el nombre de una fuente hay que darle doble click al archivo .otf o .ttf.

PCL

Creamos un control personalizado extendiendo la clase Label para disponer de una propiedad FontName.

Definimos una interfaz gráfica sin olvidarnos de importar el namespace de nuestro control personalizado.

iOS

Establecemos el Build Action de las fuentes en BundleResource y el Copy to Output Directory en Copy always.

Luego modificamos el Info.plist para indicar en donde se encuentran nuestras fuentes.

Creamos una clase que extienda de LabelRenderer.

Y listo.

Android

Establecemos el Build Action de las fuentes en AndroidAsset.

Creamos una clase que extienda de LabelRenderer.

Y listo.

Los gists usados para este post puedes ubicarlos aqu&iacute: https://gist.github.com/MAlexanderSalazar/62bdf1ac153078817b26