├── .gitignore ├── LICENSE ├── README.md ├── demo ├── XFAnimationDemo.Android │ ├── Assets │ │ └── AboutAssets.txt │ ├── MainActivity.cs │ ├── Properties │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── AboutResources.txt │ │ ├── Resource.designer.cs │ │ ├── layout │ │ │ ├── Tabbar.axml │ │ │ └── Toolbar.axml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── icon.xml │ │ │ └── icon_round.xml │ │ ├── mipmap-hdpi │ │ │ ├── Icon.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-mdpi │ │ │ ├── icon.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-xhdpi │ │ │ ├── Icon.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-xxhdpi │ │ │ ├── Icon.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── Icon.png │ │ │ └── launcher_foreground.png │ │ └── values │ │ │ ├── colors.xml │ │ │ └── styles.xml │ └── XFAnimationDemo.Android.csproj ├── XFAnimationDemo.iOS │ ├── AppDelegate.cs │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon1024.png │ │ │ ├── Icon120.png │ │ │ ├── Icon152.png │ │ │ ├── Icon167.png │ │ │ ├── Icon180.png │ │ │ ├── Icon20.png │ │ │ ├── Icon29.png │ │ │ ├── Icon40.png │ │ │ ├── Icon58.png │ │ │ ├── Icon60.png │ │ │ ├── Icon76.png │ │ │ ├── Icon80.png │ │ │ └── Icon87.png │ │ └── Star.imageset │ │ │ ├── Contents.json │ │ │ ├── star@2x.png │ │ │ └── star@3x.png │ ├── Entitlements.plist │ ├── Info.plist │ ├── Main.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── Default-568h@2x.png │ │ ├── Default-Portrait.png │ │ ├── Default-Portrait@2x.png │ │ ├── Default.png │ │ ├── Default@2x.png │ │ └── LaunchScreen.storyboard │ └── XFAnimationDemo.iOS.csproj ├── XFAnimationDemo.sln └── XFAnimationDemo │ ├── App.xaml │ ├── App.xaml.cs │ ├── Controls │ ├── ActivityIndicatorDemo.xaml │ ├── ActivityIndicatorDemo.xaml.cs │ ├── BoxViewDemo.xaml │ ├── BoxViewDemo.xaml.cs │ ├── ButtonDemo.xaml │ ├── ButtonDemo.xaml.cs │ ├── DatePickerDemo.xaml │ ├── DatePickerDemo.xaml.cs │ ├── EditorDemo.xaml │ ├── EditorDemo.xaml.cs │ ├── EntryDemo.xaml │ ├── EntryDemo.xaml.cs │ ├── FrameDemo.xaml │ ├── FrameDemo.xaml.cs │ ├── GridDemo.xaml │ ├── GridDemo.xaml.cs │ ├── LabelDemo.xaml │ ├── LabelDemo.xaml.cs │ ├── LayoutDemo.xaml │ ├── LayoutDemo.xaml.cs │ ├── ListViewDemo.xaml │ ├── ListViewDemo.xaml.cs │ ├── PickerDemo.xaml │ ├── PickerDemo.xaml.cs │ ├── ProgressBarDemo.xaml │ ├── ProgressBarDemo.xaml.cs │ ├── SliderDemo.xaml │ ├── SliderDemo.xaml.cs │ ├── StackLayoutDemo.xaml │ ├── StackLayoutDemo.xaml.cs │ ├── SwitchDemo.xaml │ ├── SwitchDemo.xaml.cs │ ├── TimePickerDemo.xaml │ ├── TimePickerDemo.xaml.cs │ ├── ViewDemo.xaml │ ├── ViewDemo.xaml.cs │ ├── VisualElementDemo.xaml │ └── VisualElementDemo.xaml.cs │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── MainPageViewModel.cs │ ├── MasterPage.xaml │ ├── MasterPage.xaml.cs │ ├── MasterPageItem.cs │ ├── MasterPageViewModel.cs │ ├── RunAnimationCommand.cs │ └── XFAnimationDemo.csproj └── src ├── Controls ├── AbsoluteLayout │ └── AbsoluteLayoutBoundsRectangleAnimation.cs ├── ActivityIndicator │ └── ActivityIndicatorColorAnimation.cs ├── AnimationBase.cs ├── BoxView │ ├── BoxViewColorAnimation.cs │ └── BoxViewCornerRadiusAnimation.cs ├── Button │ ├── ButtonBorderColorAnimation.cs │ ├── ButtonBorderWidthDoubleAnimation.cs │ ├── ButtonCornerRadiusAnimation.cs │ ├── ButtonFontSizeDoubleAnimation.cs │ ├── ButtonPaddingThicknessAnimation.cs │ └── ButtonTextColorAnimation.cs ├── DatePicker │ ├── DatePickerFontSizeDoubleAnimation.cs │ └── DatePickerTextColorAnimation.cs ├── Editor │ ├── EditorFontSizeDoubleAnimation.cs │ ├── EditorPlaceholderColorAnimation.cs │ └── EditorTextColorAnimation.cs ├── Entry │ ├── EntryFontSizeDoubleAnimation.cs │ ├── EntryPlaceholderColorAnimation.cs │ └── EntryTextColorAnimation.cs ├── Frame │ ├── FrameBorderColorAnimation.cs │ ├── FrameCornerRadiusAnimation.cs │ └── FrameOutlineColorAnimation.cs ├── Grid │ ├── GridColumnSpacingDoubleAnimation.cs │ └── GridRowSpacingDoubleAnimation.cs ├── Label │ ├── LabelFontSizeDoubleAnimation.cs │ ├── LabelLineHeightDoubleAnimation.cs │ ├── LabelTextColorAnimation.cs │ └── ListViewSeparatorColorAnimation.cs ├── Layout │ └── LayoutPaddingThicknessAnimation.cs ├── ListView │ └── ListViewRowHeightDoubleAnimation.cs ├── Picker │ ├── PickerFontSizeDoubleAnimation.cs │ └── PickerTextColorAnimation.cs ├── ProgressBar │ └── ProgressBarColorAnimation.cs ├── Slider │ ├── SliderMaximumTrackColorAnimation.cs │ ├── SliderMinimumTrackColorAnimation.cs │ └── SliderThumbColorAnimation.cs ├── StackLayout │ └── StackLayoutSpacingDoubleAnimation.cs ├── Switch │ └── SwitchOnColorAnimation.cs ├── TableView │ └── TableViewRowHeightIntAnimation.cs ├── TimePicker │ ├── TimePickerFontSizeDoubleAnimation.cs │ └── TimePickerTextColorAnimation.cs ├── View │ └── MarginThicknessAnimation.cs └── VisualElement │ ├── BackgroundColorAnimation.cs │ ├── HeightRequestDoubleAnimation.cs │ ├── OpacityDoubleAnimation.cs │ └── WidthRequestDoubleAnimation.cs ├── Utils ├── AnimationUtil.cs └── EasingValueConverter.cs ├── Xamarin.Forms.AnimationsPack.csproj └── Xamarin.Forms.AnimationsPack.sln /.gitignore: -------------------------------------------------------------------------------- 1 | # Autosave files 2 | *~ 3 | 4 | # build 5 | [Oo]bj/ 6 | [Bb]in/ 7 | packages/ 8 | TestResults/ 9 | 10 | # globs 11 | Makefile.in 12 | *.DS_Store 13 | *.sln.cache 14 | *.suo 15 | *.cache 16 | *.pidb 17 | *.userprefs 18 | *.usertasks 19 | config.log 20 | config.make 21 | config.status 22 | aclocal.m4 23 | install-sh 24 | autom4te.cache/ 25 | *.user 26 | *.tar.gz 27 | tarballs/ 28 | test-results/ 29 | Thumbs.db 30 | .vs/ 31 | 32 | # Mac bundle stuff 33 | *.dmg 34 | *.app 35 | 36 | # resharper 37 | *_Resharper.* 38 | *.Resharper 39 | 40 | # dotCover 41 | *.dotCover 42 | 43 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 takeshi noguchi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Xamarin.Forms.AnimationsPack 2 | Xamarin.Forms.AnimationsPack is Animation library for Xamarin.Forms. 3 | This library contains [Animations](#animation-list). 4 | 5 | # How to Install 6 | Install from NuGet. 7 | ``` 8 | > Install-Package Xamarin.Forms.AnimationsPack 9 | ``` 10 | [https://www.nuget.org/packages/Xamarin.Forms.AnimationsPack](https://www.nuget.org/packages/Xamarin.Forms.AnimationsPack) 11 | 12 | # Demo Project 13 | Demo project applying this library is located to the following path of this repository. 14 | 15 | ``` 16 | demo/XFAnimationDemo.sln 17 | ``` 18 | 19 | Let's build and run demo application! 20 | 21 | # How to Use 22 | ## Namespace Declaration 23 | ~~~XAML 24 | xmlns:animationsPack="clr-namespace:Xamarin.Forms.AnimationsPack;assembly=Xamarin.Forms.AnimationsPack" 25 | ~~~ 26 | 27 | ## Apply Animation 28 | ### EventTrigger 29 | Simple code sample for Xamrin.Forms.Entry control. 30 | ~~~XAML 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | ~~~ 41 | 42 | This example shows following animation. 43 | - Animation starts when Entry is focused. 44 | - `TextColor` property : **Black** > **Lime**, **1000** millisecond, **Linear** easing-function 45 | - `FontSize` property : *20* > **30**, **3000** millisecond, *Linear* easing-function 46 | - `BackgroundColor` property : *Gray* > **Teal**, *1000* millisecond, **CubicInOut** easing-function 47 | 48 | ### DataTrigger 49 | In the DataTrigger sample, we assume that BindingContext is already set, and that ViewModel contains `bool` type property named `IsAnimationWorking`. 50 | 51 | ```XAML 52 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |