Ejemplo n.º 1
0
        private async void DoLoadDrawable(ContentControl contentControl)
        {
            _lottieDrawable        = new LottieDrawable();
            contentControl.Content = _lottieDrawable;
            // var xurl =
            //     "https://raw.githubusercontent.com/wintb/lottie-example/master/LottieSample/src/androidTest/assets/LightBulb.json";
            // string s;
            // using (WebClient client = new WebClient())
            // {
            //  s = client.DownloadString(xurl);
            // }


            var assets = AvaloniaLocator.Current.GetService <IAssetLoader>();
            var getstr = assets.Open(new Uri("avares://Avalonia.Lottie.Sample/Assets/Gears.json"));
            var a      = await new StreamReader(getstr).ReadToEndAsync();

            var res = await LottieCompositionFactory.FromJsonString(a, "cache1");

            if (res is not null)
            {
                _lottieDrawable.SetComposition(res.Value);
                // _lottieDrawable.DirectScale = 0.45f;
                _lottieDrawable.RepeatCount = Int32.MaxValue;
                _lottieDrawable.Scale       = 1f;
                _lottieDrawable.Start();
            }
        }
 public async Task TestMaxFrame()
 {
     await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.High, () =>
     {
         var composition = CreateComposition(31, 391);
         var drawable    = new LottieDrawable();
         drawable.SetComposition(composition);
         drawable.MaxProgress = 0.25f;
         Assert.Equal(121f, drawable.MaxFrame);
     });
 }
 public async Task TestMinWithStartFrameFrame()
 {
     await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.High, () =>
     {
         var composition = CreateComposition(100, 200);
         var drawable    = new LottieDrawable();
         drawable.SetComposition(composition);
         drawable.MinProgress = 0.5f;
         Assert.Equal(150f, drawable.MinFrame);
     });
 }
Ejemplo n.º 4
0
        public KeyPathTest()
        {
            var task = CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.High, () =>
            {
                _lottieDrawable = new LottieDrawable();

                LottieComposition composition = LottieCompositionFactory.FromJsonStringSync(Fixtures.Squares, "squares").Value;
                _lottieDrawable.SetComposition(composition);
            }).AsTask();

            task.Wait();
        }
Ejemplo n.º 5
0
        public KeyPathTest()
        {
            var task = CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.High, () =>
            {
                _lottieDrawable = new LottieDrawable();

                try
                {
                    LottieComposition composition = LottieComposition.Factory.FromJsonSync(new JsonReader(new StringReader(Fixtures.Squares)));
                    _lottieDrawable.SetComposition(composition);
                }
                catch (IOException e)
                {
                    throw new ArgumentException(e.Message, e);
                }
            }).AsTask();

            task.Wait();
        }
Ejemplo n.º 6
0
        private async void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            var localDir = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(@"Assets");

            var file = await localDir.GetFileAsync("test.json");

            var json = await FileIO.ReadTextAsync(file, Windows.Storage.Streams.UnicodeEncoding.Utf8);

            await LottieView.SetAnimationFromJsonAsync(json, "test");

            var compositionResult = await LottieCompositionFactory.FromJsonString(json, "test");

            if (compositionResult.Value != null)
            {
                LottieDrawable.SetComposition(compositionResult.Value);
                LottieDrawable.RepeatCount = -1;
                LottieDrawable.PlayAnimation();
            }

            LottieView.PlayAnimation();
        }
Ejemplo n.º 7
0
        private async void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            var localDir = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(@"Assets");

            var file = await localDir.GetFileAsync("test.json");

            var json = await FileIO.ReadTextAsync(file, Windows.Storage.Streams.UnicodeEncoding.Utf8);

            _drawForCanvas = new LottieDrawable();

            await LottieView.SetAnimationFromJsonAsync(json);

            var composition = await LottieComposition.Factory.FromJsonStringAsync(json);

            LottieDrawable.SetComposition(composition);
            LottieDrawable.RepeatCount = -1;
            _drawForCanvas.SetComposition(composition);
            _drawForCanvas.RepeatCount = -1;
            _inited = true;

            LottieView.PlayAnimation();
            LottieDrawable.PlayAnimation();
            _drawForCanvas.PlayAnimation();
        }