How to create Carousel sample in Xamarin.Forms.Android platform
Carousel control allows you to navigate through the image data in an interactive way so that they can be viewed or selected. Also, it provides various customization options for its item arrangements. You can get the view of Carousel from any one of the following ways:
- Using CarouselItem
- Using ItemTemplate
The following section illustrates how to create the carousel control in Xamarin.Forms Android platforms.
Needed assemblies:
For getting the view of carousel control, you should add the following assemblies in both PCL and Android in Xamarin.
Project | Assemblies required |
PCL | pcl\Syncfusion.SfCarousel.XForms.dll |
Android | android\Syncfusion.SfCarousel.Android.dll
|
It is more important to add Xamarin.Android.Support.v17.Leanback library to get the carousel‘s Linear mode in Android platform.
- Create a carousel control by using CarouselItem
C#
public partial class KBSolutionPage : ContentPage { public KBSolutionPage() { InitializeComponent(); SfCarousel sfCarousel = new SfCarousel(); sfCarousel.ItemWidth = 170; sfCarousel.ItemHeight = 250; ObservableCollection<SfCarouselItem> collectionOfItems = new ObservableCollection<SfCarouselItem>(); collectionOfItems.Add(new SfCarouselItem() { ImageName = "images1.png" }); collectionOfItems.Add(new SfCarouselItem() { ImageName = "images2.png" }); collectionOfItems.Add(new SfCarouselItem() { ImageName = "images3.png" }); collectionOfItems.Add(new SfCarouselItem() { ImageName = "images4.png" }); collectionOfItems.Add(new SfCarouselItem() { ImageName = "images5.png" }); collectionOfItems.Add(new SfCarouselItem() { ImageName = "images6.png" }); sfCarousel.DataSource = collectionOfItems; this.Content = sfCarousel; } }
- Create a carousel control by using ItemTemplate
C#:
public partial class KBSolutionPage : ContentPage { public KBSolutionPage() { InitializeComponent(); //Initialize the carousel control SfCarousel sfCarousel = new SfCarousel(); sfCarousel.ItemWidth = 170; sfCarousel.ItemHeight = 250; var carouselModel = new List<CarouselModel> { new CarouselModel ("image1.png"), new CarouselModel ("image2.png"), new CarouselModel ("image3.png"), new CarouselModel ("image4.png"), new CarouselModel ("image5.png") }; var carouselModelDataTem= new DataTemplate(() => { var grid = new Grid(); var nameLabel = new Image(); nameLabel.SetBinding(Image.SourceProperty, "Image"); grid.Children.Add(nameLabel); return grid; }); sfCarousel.ItemTemplate = carouselModelDataTem ; sfCarousel.DataSource = carouselModel; this.Content = sfCarousel; } } public class CarouselModel { public CarouselModel(string imagestr) { Image = imagestr; } private string _image; public string Image { get { return _image; } set { _image = value; } } }
|
Output:
Sample Link:
Please download the sample from the following Link