[Xamarin] ¿Cómo usar Segoe MDL2 Assets en Xamarin.Android?

En esta ocasión quiero compartir como hago para poder usar las fuentes Segoe MDL2 en un proyecto Xamarin.Android.

segmdl2.ttf

Agregamos la fuente y establecemos su Build Action como AndroidAsset.

Typefaces.cs

Creamos la clase que nos permita construir la Typeface en base a la fuente que acabamos de agregar.

IconTextView.cs

Y ahora extendemos TextView para personalizarlo con el uso de la Typeface que acabamos de obtener.

Layout.axml

Una vez hecho esto ya esta todo listo para usar nuestro IconTextView.

[Xamarin] ¿Cómo saber si tengo conexión en Xamarin.Android?

Es importante conocer el estado de conexión de nuestra aplicación para no hacer consultas que pueden resultar en fallas, así como para tener la oportunidad de mostrar al usuario el mensaje adecuado para que no crea que hay una falla en la aplicación cuando el verdadero problema es uno de conectividad.

En caso de Xamarin.Android, lo primero que debemos hacer es agregar los permisos adecuados al AndroidManifest.xml.

Seguido de ello podemos hacer lo siguiente para validar si tenemos algun tipo de conexión:

O lo siguiente para saber si tenemos conexión con algún host en específico.

Si son instrucciones recurrentes en nuestra aplicación, deberíamos encapsularlas y ponerlas en una clase llamada ConnectivityService.cs por ejemplo.


Para mayor info acerca de ConnectivityManager, véase la documentación oficial: https://developer.xamarin.com/api/type/Android.Net.ConnectivityManager/

[Xamarin] Implementando un simple ListViewAdapter

Cuando empecé a trabajar con listas en Android, en casi todos los ejemplos vi que se creaban clases que extendían de BaseAdapter y que estas se creaban para cada Adapter (cuando solo cambiaba la clase y no la plantilla de datos o incluso cuando solo se usaba una sola vez). Así que ante esta particular situación sumado el hecho de los pocos ejemplos de filtrado que encontraba eran con ArrayAdapter y sin usar plantillas personalizadas decidí hacer este post.

Empecemos

Entity.cs

User.cs

UserDataTemplate.axml

ListViewAdapter.cs

Main.axml

MainActivity.cs -> GetUsers()

Caso 1. Queremos listar usando una única plantilla de datos y sin filtrar

MainActivity.cs

Caso 2. Queremos listar usando una única plantilla de datos y filtrar

MainActivity.cs

Caso 3. Queremos listar usando diferentes plantillas de datos c/s filtrar

OldUserDataTemplate.axml 

MainActivity.cs

[Xamarin] ¿Cómo usar recursos de colores Drawing en Xamarin.Android?

En esta publicación mostraré como usar un recurso de color del tipo Drawing de dos formas distintas. La primera forma responde a como usarlo desde otro XML y la segunda a como usarlo desde Código.

themes.xml

Para este ejemplo empezemos definiendo nuestro recurso en un nuevo archivo: ResourcesvaluesThemes.xml.

main.axml

En otro XML hacemos referencia a los recursos que definimos en Themes.xml con ayuda de @drawable. Si tienen algun error asegurence que Themes.xml tenga como Build action AndroidResource. Adicionalmente hay otros 2 TextView los cuales actualizaremos desde el código.

MainActivity.cs

Por último para usarlos desde código solo tenemos que hacer lo siguiente, aparte de agregar el using Android.Graphics.Drawables;