Add Animation in Glass Icon

This commit is contained in:
DB p 2021-11-21 00:04:34 +09:00
parent 89677ffbeb
commit 3eeac915c3
2 changed files with 18 additions and 4 deletions

View file

@ -183,6 +183,7 @@
</TextBox>
<Canvas Style="{DynamicResource SearchIconPosition}">
<Path
Name="SearchIcon"
Margin="0"
Data="{DynamicResource SearchIconImg}"
Stretch="Fill"

View file

@ -267,29 +267,42 @@ namespace Flow.Launcher
_animating = true;
UpdatePosition();
Storyboard sb = new Storyboard();
Storyboard iconsb = new Storyboard();
CircleEase easing = new CircleEase(); // or whatever easing class you want
easing.EasingMode = EasingMode.EaseInOut;
var da = new DoubleAnimation
{
From = 0,
To = 1,
Duration = TimeSpan.FromSeconds(0.18),
Duration = TimeSpan.FromSeconds(0.2),
FillBehavior = FillBehavior.Stop
};
var da2 = new DoubleAnimation
{
From = Top + 8,
From = Top + 10,
To = Top,
Duration = TimeSpan.FromSeconds(0.18),
Duration = TimeSpan.FromSeconds(0.2),
FillBehavior = FillBehavior.Stop
};
var da3 = new DoubleAnimation
{
From = 12,
To = 0,
EasingFunction = easing,
Duration = TimeSpan.FromSeconds(0.36),
FillBehavior = FillBehavior.Stop
};
Storyboard.SetTarget(da, this);
Storyboard.SetTargetProperty(da, new PropertyPath(Window.OpacityProperty));
Storyboard.SetTargetProperty(da2, new PropertyPath(Window.TopProperty));
Storyboard.SetTargetProperty(da3, new PropertyPath(TopProperty));
sb.Children.Add(da);
sb.Children.Add(da2);
iconsb.Children.Add(da3);
sb.Completed += (_, _) => _animating = false;
_settings.WindowLeft = Left;
_settings.WindowTop = Top;
iconsb.Begin(SearchIcon);
sb.Begin(FlowMainWindow);
}
if (_settings.UseSound)