SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Xamarin.Forms es una plataforma que se encuentra
en constante evolución y mejora, buscando elevar la
productividad de los desarrolladores de apps móviles.
Una de las mejoras disponibles desde la versión 4.0 es
la implementación de nuevas vistas que permiten
desplegar colecciones de una manera optimizada y
funcional. Concretamente, estamos hablando de
CollectionView y CarouselView.
Vistas usadas para mostrar colecciones
• CarouselView
• CollectionView
• IndicatorView
• ListView
• Picker
• TableView
Aprende más sobre CollectionView
con los aportes de la comunidad:
A (r)evolution for displaying data: Xamarin.Forms CollectionView
https://www.luisbeltran.mx/2019/07/07/a-revolution-for-displaying-
data-xamarin-forms-collectionview/
CollectionView
https://www.youtube.com/watch?v=zavAeKDQWfE
Xamarin.Forms 4.0 CollectionView Challenge (English Version)
https://www.youtube.com/watch?v=rrZrTOvFmvY
Xamarin.Forms 4.0 CollectionView Challenge (en Español)
https://www.youtube.com/watch?v=b4XdbSMucAA
CarouselView
CarouselView es una vista para presentar datos en un
layout deslizable donde los usuarios hacen swipe para
moverse a lo largo de una colección de elementos.
• La colección de elementos que se mostrará en el
CarouselView es asignada mediante la propiedad
ItemsSource.
• La apariencia de cada
elemento se define
con la propiedad
ItemTemplate
• Por defecto, los elementos se muestran en una
lista horizontal; este comportamiento puede
modificarse cambiando el layout para mostrar
los datos de forma vertical por ejemplo.
• Por defecto, el CarouselView muestra elementos
completos, uno a la vez. Mediante la propiedad
PeekAreaInsets, es posible mostrar una parte de los
elementos anterior y posterior al actual. Esto es útil
para indicar al usuario que hay más datos.
• También se puede asignar un espacio vacío de
separación entre elementos mediante la propiedad
ItemSpacing.
• Por medio de las propiedades CurrentItem y
Position, es posible interactuar con el elemento que
se muestra en un determinado momento.
• De forma similar que en CollectionView, es posible
asignar una vista vacía (EmptyView) que indique al
usuario cuando no hay datos disponibles.
• Con el método ScrollTo es posible navegar a un
elemento particular para mostrarlo.
Cuando un usuario comienza el scroll sobre el
CarouselView, la posición final puede ser controlada
para que siempre se muestren los elementos por
completo (snapping). Esto se realiza con las
propiedades SnapPointsType y SnapPointsAlignment.
CarouselView soporta:
• Carga incremental de datos.
• Pull to refresh mediante el control RefreshView. Más información disponible
en https://www.luisbeltran.mx/2019/12/06/anadiendo-funcionalidad-pull-to-refresh-
con-xamarin-forms-refreshview/
Cabe destacar que CollectionView y CarouselView
tienen usos distintos:
• CollectionView es utilizado para mostrar listas de
datos de cualquier tamaño.
• CarouselView es utilizado para presentar
información en una lista de tamaño conocido.
• CarouselView está disponible a partir de la versión
4.3 de Xamarin.Forms.
• Actualmente está en fase preview, por lo que es
obligatorio agregar la siguiente sentencia en
AppDelegate (iOS) y/o MainActivity (Android):
Forms.SetFlags("CarouselView_Experimental");
IndicatorView
IndicatorView es una vista que
incluye indicadores que nos dicen
el número de elementos de la
colección y además señala cuál es
el elemento actual de la colección
de datos.
Algunas propiedades:
Count
Número de indicadores
HideSingle
Oculta el indicador si solo hay un elemento (por defecto, true)
IndicatorColor
Color del indicador
Algunas propiedades:
IndicatorSize
Tamaño del indicador (por defecto, 6.0)
IndicatorTemplate
Apariencia de cada indicador. Es un DataTemplate
IndicatorsShape
Forma de cada indicador: Circle o Square
Algunas propiedades:
ItemsSource
Colección para la cual se muestran los indicadores
MaximumVisible
Número máximo de indicadores a mostrar
Position
El índice del elemento actual seleccionado
Algunas propiedades:
SelectedIndicatorColor
Color del indicador que representa al elemento actualmente
seleccionado
• IndicatorView está disponible a partir de la versión
4.4 de Xamarin.Forms (Android/iOS) y 4.5 en UWP.
• Actualmente está en fase preview, por lo que es
obligatorio agregar la siguiente sentencia en
AppDelegate (iOS) y/o MainActivity (Android):
Forms.SetFlags(“IndicatorView_Experimental");
Ejemplo
<StackLayout>
<CarouselView ItemsSource="{Binding Monkeys}"
IndicatorView="indicatorView">
<CarouselView.ItemTemplate>
<!-- ... -->
</CarouselView.ItemTemplate>
</CarouselView>
<IndicatorView x:Name="indicatorView"
IndicatorColor="LightGray"
SelectedIndicatorColor="Black"
HorizontalOptions="Center">
</IndicatorView>
</StackLayout>
Cuando a un CarouselView se le asigna
la propiedad IndicatorView, también se
enlazan algunas propiedades:
• IndicatorView.Position se enlaza a
CarouselView.Position.
• IndicatorView.ItemsSource se enlaza
a CarouselView.ItemsSource.
Q & A
¡Gracias!
Explorando Xamarin.Forms CarouselView
Luis Beltrán

Más contenido relacionado

Similar a Explorando Xamarin Forms CarouselView

Similar a Explorando Xamarin Forms CarouselView (20)

Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal Commerce
 
Reconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows PlatformReconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows Platform
 
Desarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales IntroducciónDesarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales Introducción
 
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.FormsdotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
 
Novedades sigad v4.0.0
Novedades sigad v4.0.0Novedades sigad v4.0.0
Novedades sigad v4.0.0
 
Servicios web
Servicios webServicios web
Servicios web
 
Flex Mobile
Flex MobileFlex Mobile
Flex Mobile
 
Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2
 
SIBW - TAC - Trabajo - Daniel Díaz Salas
SIBW - TAC - Trabajo - Daniel Díaz SalasSIBW - TAC - Trabajo - Daniel Díaz Salas
SIBW - TAC - Trabajo - Daniel Díaz Salas
 
Tutorial java fx_8_espanol
Tutorial java fx_8_espanolTutorial java fx_8_espanol
Tutorial java fx_8_espanol
 
Manual de asc [e training 2010]aprobación
Manual de asc [e training 2010]aprobaciónManual de asc [e training 2010]aprobación
Manual de asc [e training 2010]aprobación
 
Xamarin forms Xaml + C#
Xamarin forms Xaml + C#Xamarin forms Xaml + C#
Xamarin forms Xaml + C#
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Symfony
SymfonySymfony
Symfony
 
Views 3: Qué hay de nuevo
Views 3: Qué hay de nuevoViews 3: Qué hay de nuevo
Views 3: Qué hay de nuevo
 
patron de diseño MVVMo.pptx
patron de diseño MVVMo.pptxpatron de diseño MVVMo.pptx
patron de diseño MVVMo.pptx
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6
 

Más de Luis Beltran

Más de Luis Beltran (20)

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptx
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptx
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Explorando Xamarin Forms CarouselView

  • 1.
  • 2.
  • 3. Xamarin.Forms es una plataforma que se encuentra en constante evolución y mejora, buscando elevar la productividad de los desarrolladores de apps móviles. Una de las mejoras disponibles desde la versión 4.0 es la implementación de nuevas vistas que permiten desplegar colecciones de una manera optimizada y funcional. Concretamente, estamos hablando de CollectionView y CarouselView.
  • 4. Vistas usadas para mostrar colecciones • CarouselView • CollectionView • IndicatorView • ListView • Picker • TableView
  • 5. Aprende más sobre CollectionView con los aportes de la comunidad: A (r)evolution for displaying data: Xamarin.Forms CollectionView https://www.luisbeltran.mx/2019/07/07/a-revolution-for-displaying- data-xamarin-forms-collectionview/ CollectionView https://www.youtube.com/watch?v=zavAeKDQWfE Xamarin.Forms 4.0 CollectionView Challenge (English Version) https://www.youtube.com/watch?v=rrZrTOvFmvY Xamarin.Forms 4.0 CollectionView Challenge (en Español) https://www.youtube.com/watch?v=b4XdbSMucAA
  • 7. CarouselView es una vista para presentar datos en un layout deslizable donde los usuarios hacen swipe para moverse a lo largo de una colección de elementos.
  • 8. • La colección de elementos que se mostrará en el CarouselView es asignada mediante la propiedad ItemsSource.
  • 9. • La apariencia de cada elemento se define con la propiedad ItemTemplate
  • 10. • Por defecto, los elementos se muestran en una lista horizontal; este comportamiento puede modificarse cambiando el layout para mostrar los datos de forma vertical por ejemplo.
  • 11. • Por defecto, el CarouselView muestra elementos completos, uno a la vez. Mediante la propiedad PeekAreaInsets, es posible mostrar una parte de los elementos anterior y posterior al actual. Esto es útil para indicar al usuario que hay más datos.
  • 12. • También se puede asignar un espacio vacío de separación entre elementos mediante la propiedad ItemSpacing.
  • 13. • Por medio de las propiedades CurrentItem y Position, es posible interactuar con el elemento que se muestra en un determinado momento.
  • 14. • De forma similar que en CollectionView, es posible asignar una vista vacía (EmptyView) que indique al usuario cuando no hay datos disponibles.
  • 15. • Con el método ScrollTo es posible navegar a un elemento particular para mostrarlo.
  • 16. Cuando un usuario comienza el scroll sobre el CarouselView, la posición final puede ser controlada para que siempre se muestren los elementos por completo (snapping). Esto se realiza con las propiedades SnapPointsType y SnapPointsAlignment.
  • 17. CarouselView soporta: • Carga incremental de datos. • Pull to refresh mediante el control RefreshView. Más información disponible en https://www.luisbeltran.mx/2019/12/06/anadiendo-funcionalidad-pull-to-refresh- con-xamarin-forms-refreshview/
  • 18. Cabe destacar que CollectionView y CarouselView tienen usos distintos: • CollectionView es utilizado para mostrar listas de datos de cualquier tamaño. • CarouselView es utilizado para presentar información en una lista de tamaño conocido.
  • 19. • CarouselView está disponible a partir de la versión 4.3 de Xamarin.Forms. • Actualmente está en fase preview, por lo que es obligatorio agregar la siguiente sentencia en AppDelegate (iOS) y/o MainActivity (Android): Forms.SetFlags("CarouselView_Experimental");
  • 20.
  • 22. IndicatorView es una vista que incluye indicadores que nos dicen el número de elementos de la colección y además señala cuál es el elemento actual de la colección de datos.
  • 23. Algunas propiedades: Count Número de indicadores HideSingle Oculta el indicador si solo hay un elemento (por defecto, true) IndicatorColor Color del indicador
  • 24. Algunas propiedades: IndicatorSize Tamaño del indicador (por defecto, 6.0) IndicatorTemplate Apariencia de cada indicador. Es un DataTemplate IndicatorsShape Forma de cada indicador: Circle o Square
  • 25. Algunas propiedades: ItemsSource Colección para la cual se muestran los indicadores MaximumVisible Número máximo de indicadores a mostrar Position El índice del elemento actual seleccionado
  • 26. Algunas propiedades: SelectedIndicatorColor Color del indicador que representa al elemento actualmente seleccionado
  • 27. • IndicatorView está disponible a partir de la versión 4.4 de Xamarin.Forms (Android/iOS) y 4.5 en UWP. • Actualmente está en fase preview, por lo que es obligatorio agregar la siguiente sentencia en AppDelegate (iOS) y/o MainActivity (Android): Forms.SetFlags(“IndicatorView_Experimental");
  • 28. Ejemplo <StackLayout> <CarouselView ItemsSource="{Binding Monkeys}" IndicatorView="indicatorView"> <CarouselView.ItemTemplate> <!-- ... --> </CarouselView.ItemTemplate> </CarouselView> <IndicatorView x:Name="indicatorView" IndicatorColor="LightGray" SelectedIndicatorColor="Black" HorizontalOptions="Center"> </IndicatorView> </StackLayout>
  • 29. Cuando a un CarouselView se le asigna la propiedad IndicatorView, también se enlazan algunas propiedades: • IndicatorView.Position se enlaza a CarouselView.Position. • IndicatorView.ItemsSource se enlaza a CarouselView.ItemsSource.
  • 30.
  • 31. Q & A