美文网首页Xamarin
在 Xamarin Forms 中实现 Banner

在 Xamarin Forms 中实现 Banner

作者: Xamarin信仰中心 | 来源:发表于2018-09-28 17:03 被阅读29次

    Method 1: Xamarin.Forms.CarouselView

    博客:Flip through items with Xamarin.Forms CarouselView

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

    效果图:

    ezgif.com-video-to-gif.gif

    Method 2: CarouselView.FormsPlugin

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

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

    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, 效果还不错

    相关文章

      网友评论

        本文标题:在 Xamarin Forms 中实现 Banner

        本文链接:https://www.haomeiwen.com/subject/fompoftx.html