0
点赞
收藏
分享

微信扫一扫

在 Xamarin Forms 中实现 Banner

雪域迷影 2022-09-14 阅读 147


Method 1: Xamarin.Forms.CarouselView

博客:​​Flip through items with Xamarin.Forms CarouselView​​

Github: ​​https://github.com/jamesmontemagno/Xamarin.Forms-Monkeys​​

效果图:




在 Xamarin Forms 中实现 Banner_github


ezgif.com-video-to-gif.gif


Method 2: CarouselView.FormsPlugin

这个项目也是有计划实现 无限轮播这个功能的:CarouselView roadmap, 建议你联系这个作者 Alexander

目前的话可以使用递归定期改变 ​​banner​​​ 的 ​​position​​ 去实现这个功能(我能想到的办法)。我这里的代码实现的有点粗糙,具体细节需要您那边根据自己需要来优化了。

public partial class MainPage : ContentPage
{
MainViewModel _vm;

public MainPage()
{
InitializeComponent();

Title = "CarouselView";

BindingContext = _vm = new MainViewModel();

ChangedMapData();
}

//position ==> 0 -> 1 -> 2
void ChangedMapData()
{
Task.Delay(4000).ContinueWith(t =>
{
if(carousel.Position%3 == 2)
{
carousel.Position = 0;
Debug.WriteLine("carousel.Position == " + carousel.Position);
ChangedMapData();//This is for repeate every xs.
}
else
{
carousel.Position++;
ChangedMapData();
}
}, TaskScheduler.FromCurrentSynchronizationContext());
}

......
}

推荐使用 method 2, 效果还不错

举报

相关推荐

0 条评论