Setting Toggle Animations in .NET MAUI Navigation Drawer
29 Jul 20263 minutes to read
The drawer open and close animation can be customized using the Transition property of DrawerSettings. The property supports the following values:
NOTE
The default animation is
SlideOnTop.
Prerequisites
Before using the SfNavigationDrawer, ensure the following NuGet package is installed in your .NET MAUI project:
Syncfusion.Maui.NavigationDrawer
For step-by-step setup, refer to the Getting Started documentation.
SlideOnTop
The drawer overlays the main content area when opened.
<navigationDrawer:SfNavigationDrawer x:Name="navigationDrawer">
<navigationDrawer:SfNavigationDrawer.DrawerSettings>
<navigationDrawer:DrawerSettings Transition="SlideOnTop">
</navigationDrawer:DrawerSettings>
</navigationDrawer:SfNavigationDrawer.DrawerSettings>
</navigationDrawer:SfNavigationDrawer>SfNavigationDrawer navigationDrawer = new SfNavigationDrawer()
{
DrawerSettings = new DrawerSettings()
{
Transition = Transition.SlideOnTop,
},
};
Push
The drawer pushes the main content aside when opened.
<navigationDrawer:SfNavigationDrawer x:Name="navigationDrawer">
<navigationDrawer:SfNavigationDrawer.DrawerSettings>
<navigationDrawer:DrawerSettings Transition="Push">
</navigationDrawer:DrawerSettings>
</navigationDrawer:SfNavigationDrawer.DrawerSettings>
</navigationDrawer:SfNavigationDrawer>SfNavigationDrawer navigationDrawer = new SfNavigationDrawer()
{
DrawerSettings = new DrawerSettings()
{
Transition = Transition.Push,
},
};
Reveal
The drawer sits behind the main content, which slides aside to expose it.
<navigationDrawer:SfNavigationDrawer x:Name="navigationDrawer">
<navigationDrawer:SfNavigationDrawer.DrawerSettings>
<navigationDrawer:DrawerSettings Transition="Reveal">
</navigationDrawer:DrawerSettings>
</navigationDrawer:SfNavigationDrawer.DrawerSettings>
</navigationDrawer:SfNavigationDrawer>SfNavigationDrawer navigationDrawer = new SfNavigationDrawer()
{
DrawerSettings = new DrawerSettings()
{
Transition = Transition.Reveal,
},
};
AnimationEasing
You can customize the acceleration curve of the drawer open and close animations using the AnimationEasing property. The default value is Easing.Linear.
<navigationDrawer:SfNavigationDrawer x:Name="navigationDrawer">
<navigationDrawer:SfNavigationDrawer.DrawerSettings>
<navigationDrawer:DrawerSettings AnimationEasing="SpringIn">
</navigationDrawer:DrawerSettings>
</navigationDrawer:SfNavigationDrawer.DrawerSettings>
</navigationDrawer:SfNavigationDrawer>SfNavigationDrawer navigationDrawer = new SfNavigationDrawer()
{
DrawerSettings = new DrawerSettings()
{
AnimationEasing = Easing.SpringIn
}
};