Problema con ListView dentro de un CardView en Xamarin Forms

¡Hola!
El otro día me encontré con un pequeño (no tan pequeño) problema utilizando el control CardView donde cada elemento del carrusel era un ListView. Algo parecido a lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
    <?xml version="1.0" encoding="utf-8"?>
    <ContentPage
        xmlns="http://xamarin.com/schemas/2014/forms"
        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
        xmlns:d="http://xamarin.com/schemas/2014/forms/design"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:cards="clr-namespace:PanCardView;assembly=PanCardView"
        mc:Ignorable="d"
        x:Name="this"
        x:Class="FixListViewWithCardsView.MainPage">
 
       <cards:CarouselView
           ItemsSource="{Binding Novels}">
           <cards:CarouselView.ItemTemplate>
               <DataTemplate>
 
                   <ListView
                       IsPullToRefreshEnabled="True"
                       RefreshCommand="{Binding Source={x:Reference this},Path=BindingContext.RefreshNovelCommand}"                   
                       ItemsSource="{Binding Characters}">
                       <ListView.Header>
                           <Label
                               FontSize="Large"
                               HorizontalTextAlignment="Center"
                               VerticalTextAlignment="Center"
                               HeightRequest="150"
                               Text="{Binding Title}"/>
                       </ListView.Header>                  
                   </ListView>
 
               </DataTemplate>
           </cards:CarouselView.ItemTemplate>
       </cards:CarouselView>
 
    </ContentPage>

Continúa leyendo Problema con ListView dentro de un CardView en Xamarin Forms

Depurar BroadcastReceiver con Visual Studio Mac

¡Hola!
Hoy vamos con una entrada rápida. En ocasiones, cuando desarrollamos aplicaciones Xamarin Forms (o Xamarin Android), creamos BroadcastReceiver que nos ayudan a recibir ciertos eventos que ocurren. Por ejemplo, nos puede interesar recibir información de cuándo el usuario ha recibido un sms, o que se está agotando la batería… Un ejemplo sencillo de BroadcastReceiver sería el siguiente: Continúa leyendo Depurar BroadcastReceiver con Visual Studio Mac

Cambiar colores a un QR en Xamarin Forms

¡Hola!
Normalmente, cuando queremos pintar un código QR en Xamarin Forms, utilizamos la librería ZXing seguramente a través del NuGet ZXing.Net.Mobile. El problema lo podemos tener cuando queremos modificar los colores con los que se pinta el QR, debido a que no tenemos la opción en la librería para poder modificarlos. Un ejemplo básico para mostrar un QR en Xamarin Forms sería algo así: Continúa leyendo Cambiar colores a un QR en Xamarin Forms

Recortar textos con StringInfo en Xamarin Forms

¡Hola!
Antes que nada, si ya conoces la clase StringInfo seguramente te puedas ahorrar leer esta entrada 🙂 La cosa es que hoy estaba depurando un error en una aplicación Xamarin Forms (el problema no es exclusivo de XF) y me encontré con algo bastante curioso, al menos para mí. En la siguiente captura vamos a ver algo que representa más o menos lo que tenía: Continúa leyendo Recortar textos con StringInfo en Xamarin Forms

Sobrescribir implementación original de un Renderer en Xamarin Forms

¡Hola!
Cuando en Xamarin Forms utilizamos algún control de una librería externa, muchas veces (casi siempre) utiliza implementaciones nativas, es decir, lo que típicamente llamamos Renderers. A veces nos ocurre que queremos modificar el comportamiento, extender o aplicar alguna correcciones a esos Renderers, ¿qué hacemos normalmente en estos casos? Creamos un control nuevo en nuestro código compartido que herede del control original y hacemos lo mismo en las diferentes plataformas. Lo vemos en un ejemplo:
Continúa leyendo Sobrescribir implementación original de un Renderer en Xamarin Forms

Generar Build en Azure DevOps con tu propia máquina macOS

¡Hola!
El otro día desarrollando un Addin para VS4Mac (en concreto éste), me decidí a incluir la compilación y generación del archivo .mpack a través de Azure DevOps. Realmente para las 4 cosas que hace el Addin y, el más que dudoso tiempo que le dedicaré, no tenía mucho sentido perder un rato que podía estar dedicando a que el Addin hiciese más cosas, pero eh, de eso se tratan los side projects (vamos, los proyectos que empiezas y abandonas), de hacer lo que te apetezca. Continúa leyendo Generar Build en Azure DevOps con tu propia máquina macOS

Ajustar Label multilínea en Xamarin Forms

¡Hola!
Hoy vamos a ver cómo podemos ajustar el ancho del texto de una Label que contiene más de una línea en Xamarin Forms. El problema ocurre cuando tenemos una Label y el texto es lo suficientemente largo para que se muestre en más de una línea, en ese momento (en cuanto el texto ocupa más de una línea), la Label siempre se expandirá horizontalmente dentro de su contenedor. Dicho así, seguramente sonará un poco enrevesado, pero vamos a verlo con extracto de XAML y una imagen.
Continúa leyendo Ajustar Label multilínea en Xamarin Forms

VS4Mac – Addin para generar Assets

¡Hola!
Cuando creamos aplicaciones Xamarin Forms casi siempre tenemos la necesidad de añadir imágenes para iconos, fondos de pantallas, etc. Esta tarea puede ser un poco pesada porque debemos generar los iconos para las diferentes resoluciones (hdpi, ldpi, xdpi… @2x, @3x…) y luego añadirlos en las diferentes carpetas de recursos de nuestros proyectos iOS o Android. Hace un tiempo escribí una entrada en la que veíamos cómo podíamos generar automáticamente las imágenes para luego añadirlas en los proyectos. Después de jugar un poco con la creación de Addins en VS4Mac he decido migrar aquel proyecto a .NET Standard y crear un Addin para poder hacerlo todo desde VS4Mac.
Por si os interesa, el proyecto está disponible en Github desde donde podréis descargar el archivo .mpack para instalarlo como extensión en VS4Mac. Continúa leyendo VS4Mac – Addin para generar Assets

Generar archivo .mpack con VS4Mac

¡Hola!
El otro día os enseñé un pequeño ejemplo de un addin disponible para VS4Mac que nos permite generar nuestros modelos (clases en C#) a partir de un JSON utilizando QuickType. Cuando creamos un addin para VS4Mac, utilizamos una extensión llamada AddinMaker que está disponible desde la galería de extensiones de VS y nos va a facilitar el poder depurar, pero, ¿y cómo generamos el archivo para que cualquier usuario de VS4Mac pueda instalar nuestra extensión? Continúa leyendo Generar archivo .mpack con VS4Mac

Generar código a partir de JSON en VS4Mac

¡Hola!
Cuando queremos generar nuestros modelos para consumir, por ejemplo, algún servicio web, casi siempre tenemos dos opciones, o crear a mano nuestras clases viendo las propiedades que tiene el archivo JSON o utilizar alguna herramienta que nos las genere automáticamente. En mi caso, normalmente he utilizado una herramienta online llamada Quicktype. En Visual Studio para Windows existe una sencilla extensión que, utilizando Quicktype, integra la opción de generar código a partir de un JSON en el propio IDE. Continúa leyendo Generar código a partir de JSON en VS4Mac