├── Images
└── demo.gif
├── LoadingAnimation.Avalonia
├── Assets
│ └── avalonia-logo.ico
├── Bars
│ ├── Bar1.axaml.cs
│ ├── Bar2.axaml.cs
│ ├── Bar3.axaml.cs
│ ├── Bar4.axaml.cs
│ ├── Bar1.axaml
│ ├── Bar2.axaml
│ ├── Bar3.axaml
│ └── Bar4.axaml
├── Dots
│ ├── Dots1.axaml.cs
│ ├── Dots3.axaml.cs
│ ├── Dots4.axaml.cs
│ ├── Dots5.axaml.cs
│ ├── Dots6.axaml.cs
│ ├── Dots2.axaml.cs
│ ├── Dots5.axaml
│ ├── Dots2.axaml
│ ├── Dots1.axaml
│ ├── Dots4.axaml
│ ├── Dots3.axaml
│ └── Dots6.axaml
├── Classic
│ ├── Classic1.axaml.cs
│ ├── Classic2.axaml.cs
│ ├── Classic4.axaml.cs
│ ├── Classic7.axaml.cs
│ ├── Classic9.axaml.cs
│ ├── ClassicBase.cs
│ ├── Classic3.axaml
│ ├── Classic5.axaml
│ ├── Classic8.axaml
│ ├── Classic6.axaml
│ ├── Classic2.axaml
│ ├── Classic5.axaml.cs
│ ├── Classic4.axaml
│ ├── Classic1.axaml
│ ├── Classic8.axaml.cs
│ ├── Classic6.axaml.cs
│ ├── Classic3.axaml.cs
│ ├── Classic9.axaml
│ └── Classic7.axaml
├── Spinner
│ ├── Spinner1.axaml.cs
│ ├── Spinner2.axaml.cs
│ ├── Spinner3.axaml.cs
│ ├── Spinner4.axaml.cs
│ ├── Spinner5.axaml.cs
│ ├── Spinner3.axaml
│ ├── Spinner4.axaml
│ ├── Spinner2.axaml
│ ├── Spinner1.axaml
│ └── Spinner5.axaml
├── Progress
│ ├── Progress1.axaml.cs
│ ├── Progress2.axaml.cs
│ ├── Progress3.axaml.cs
│ ├── Progress4.axaml.cs
│ ├── Progress5.axaml.cs
│ ├── Progress6.axaml.cs
│ ├── Progress1.axaml
│ ├── Progress5.axaml
│ ├── Progress6.axaml
│ ├── Progress2.axaml
│ ├── Progress4.axaml
│ └── Progress3.axaml
├── Themes
│ └── Index.axaml
├── LoadingAnimation.Avalonia.csproj
└── Animators
│ └── GeometryAnimator.cs
├── LoadingAnimation.Avalonia.Demo
├── Assets
│ └── avalonia-logo.ico
├── ViewModels
│ ├── ViewModelBase.cs
│ └── MainWindowViewModel.cs
├── Views
│ ├── BarsPage.axaml.cs
│ ├── DotsPage.axaml.cs
│ ├── ClassicPage.axaml.cs
│ ├── SpinnerPage.axaml.cs
│ ├── ProgressPage.axaml.cs
│ ├── BarsPage.axaml
│ ├── SpinnerPage.axaml
│ ├── DotsPage.axaml
│ ├── ProgressPage.axaml
│ ├── MainWindow.axaml.cs
│ ├── ClassicPage.axaml
│ └── MainWindow.axaml
├── Program.cs
├── app.manifest
├── ViewLocator.cs
├── App.axaml
├── App.axaml.cs
└── LoadingAnimation.Avalonia.Demo.csproj
├── README.md
├── LoadingAnimation.Avalonia.sln
├── .gitattributes
└── .gitignore
/Images/demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JamesBaiJun/LoadingAnimation.Avalonia/HEAD/Images/demo.gif
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JamesBaiJun/LoadingAnimation.Avalonia/HEAD/LoadingAnimation.Avalonia/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia.Demo/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JamesBaiJun/LoadingAnimation.Avalonia/HEAD/LoadingAnimation.Avalonia.Demo/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia.Demo/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using CommunityToolkit.Mvvm.ComponentModel;
2 |
3 | namespace LoadingAnimation.Avalonia.Demo.ViewModels
4 | {
5 | public class ViewModelBase : ObservableObject
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Contains some simple loading animations
2 | LoadingAnimation is a AvloniaUI Project,It Contains some simple loading animations.
3 |
4 | 
5 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Bars/Bar1.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Bars
4 | {
5 | public partial class Bar1 : UserControl
6 | {
7 | public Bar1()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Bars/Bar2.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Bars
4 | {
5 | public partial class Bar2 : UserControl
6 | {
7 | public Bar2()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Bars/Bar3.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Bars
4 | {
5 | public partial class Bar3 : UserControl
6 | {
7 | public Bar3()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Bars/Bar4.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Bars
4 | {
5 | public partial class Bar4 : UserControl
6 | {
7 | public Bar4()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Dots/Dots1.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Dots
4 | {
5 | public partial class Dots1 : UserControl
6 | {
7 | public Dots1()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Dots/Dots3.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Dots
4 | {
5 | public partial class Dots3 : UserControl
6 | {
7 | public Dots3()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Dots/Dots4.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Dots
4 | {
5 | public partial class Dots4 : UserControl
6 | {
7 | public Dots4()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Dots/Dots5.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Dots
4 | {
5 | public partial class Dots5 : UserControl
6 | {
7 | public Dots5()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Dots/Dots6.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Dots
4 | {
5 | public partial class Dots6 : UserControl
6 | {
7 | public Dots6()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Classic/Classic1.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Classic
4 | {
5 | public partial class Classic1 : ClassicBase
6 | {
7 | public Classic1()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Classic/Classic2.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Classic
4 | {
5 | public partial class Classic2 : ClassicBase
6 | {
7 | public Classic2()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Classic/Classic4.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Classic
4 | {
5 | public partial class Classic4 : ClassicBase
6 | {
7 | public Classic4()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Classic/Classic7.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Classic
4 | {
5 | public partial class Classic7 : ClassicBase
6 | {
7 | public Classic7()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Classic/Classic9.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Classic
4 | {
5 | public partial class Classic9 : ClassicBase
6 | {
7 | public Classic9()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Spinner/Spinner1.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Spinner
4 | {
5 | public partial class Spinner1 : UserControl
6 | {
7 | public Spinner1()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Spinner/Spinner2.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Spinner
4 | {
5 | public partial class Spinner2 : UserControl
6 | {
7 | public Spinner2()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Spinner/Spinner3.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Spinner
4 | {
5 | public partial class Spinner3 : UserControl
6 | {
7 | public Spinner3()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Spinner/Spinner4.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Spinner
4 | {
5 | public partial class Spinner4 : UserControl
6 | {
7 | public Spinner4()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia.Demo/Views/BarsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Demo.Views
4 | {
5 | public partial class BarsPage : UserControl
6 | {
7 | public BarsPage()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia.Demo/Views/DotsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Demo.Views
4 | {
5 | public partial class DotsPage : UserControl
6 | {
7 | public DotsPage()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Progress/Progress1.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Progress
4 | {
5 | public partial class Progress1 : UserControl
6 | {
7 | public Progress1()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Progress/Progress2.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Progress
4 | {
5 | public partial class Progress2 : UserControl
6 | {
7 | public Progress2()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Progress/Progress3.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Progress
4 | {
5 | public partial class Progress3 : UserControl
6 | {
7 | public Progress3()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Progress/Progress4.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Progress
4 | {
5 | public partial class Progress4 : UserControl
6 | {
7 | public Progress4()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Progress/Progress5.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Progress
4 | {
5 | public partial class Progress5 : UserControl
6 | {
7 | public Progress5()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Progress/Progress6.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Progress
4 | {
5 | public partial class Progress6 : UserControl
6 | {
7 | public Progress6()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia.Demo/Views/ClassicPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Demo.Views
4 | {
5 | public partial class ClassicPage : UserControl
6 | {
7 | public ClassicPage()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia.Demo/Views/SpinnerPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Demo.Views
4 | {
5 | public partial class SpinnerPage : UserControl
6 | {
7 | public SpinnerPage()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Dots/Dots2.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Animation;
2 | using Avalonia.Controls;
3 |
4 | namespace LoadingAnimation.Avalonia.Dots
5 | {
6 | public partial class Dots2 : UserControl
7 | {
8 | public Dots2()
9 | {
10 | InitializeComponent();
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Spinner/Spinner5.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace LoadingAnimation.Avalonia.Spinner;
6 |
7 | public partial class Spinner5 : UserControl
8 | {
9 | public Spinner5()
10 | {
11 | InitializeComponent();
12 | }
13 | }
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia.Demo/Views/ProgressPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace LoadingAnimation.Avalonia.Demo.Views
4 | {
5 | public partial class ProgressPage : UserControl
6 | {
7 | public ProgressPage()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Themes/Index.axaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia.Demo/ViewModels/MainWindowViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace LoadingAnimation.Avalonia.Demo.ViewModels
2 | {
3 | public partial class MainWindowViewModel : ViewModelBase
4 | {
5 | #pragma warning disable CA1822 // Mark members as static
6 | public string TestStr => "加载中...";
7 | #pragma warning restore CA1822 // Mark members as static
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/LoadingAnimation.Avalonia/Classic/ClassicBase.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace LoadingAnimation.Avalonia.Classic
10 | {
11 | public class ClassicBase : UserControl
12 | {
13 | public static readonly StyledProperty