Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ public async Task AnAbortedAnimationShouldNotReturnToOriginalValues()
Assert.AreNotEqual(1, view.ValuesSet[nameof(View.ScaleY)].Last());
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ public async Task AnAbortedAnimationShouldNotReturnToOriginalValues()
Assert.AreNotEqual(0, view.ValuesSet[nameof(View.Rotation)].Last());
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,4 @@ public void IsRunningShouldReportStatus()
Assert.IsTrue(animationWrapper.IsRunning);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ protected override void OnPropertyChanged([CallerMemberName] string? propertyNam
ValuesSet[propertyName].Add(value);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,4 @@ AnimationWrapper CreateAnimation(
/// <returns>The <see cref="Animation"/> that will be run.</returns>
protected abstract Animation CreateAnimation(params View[] views);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Xamarin.CommunityToolkit.Behaviors
{
/// <summary>
/// <summary>
/// A 'Rubber band' animation. Results in:
/// <list type="bullet">
/// <item>stretching the width and squashing the height</item>
Expand All @@ -11,39 +11,39 @@ namespace Xamarin.CommunityToolkit.Behaviors
/// </list>
/// </summary>
public class RubberBandAnimation : CompoundAnimationBase
{
/// <inheritdoc />
protected override uint DefaultDuration { get; set; } = 1000;
{
/// <inheritdoc />
protected override uint DefaultDuration { get; set; } = 1000;

/// <inheritdoc />
protected override Animation CreateAnimation(params View[] views) => Create(views);
/// <inheritdoc />
protected override Animation CreateAnimation(params View[] views) => Create(views);

static Animation Create(params View[] views)
static Animation Create(params View[] views)
{
var animation = new Animation();
var animation = new Animation();

foreach (var view in views)
{
animation.Add(0, 0.3, new Animation(v => view.ScaleX = v, 1, 1.25));
animation.Add(0, 0.3, new Animation(v => view.ScaleY = v, 1, 0.75));
foreach (var view in views)
{
animation.Add(0, 0.3, new Animation(v => view.ScaleX = v, 1, 1.25));
animation.Add(0, 0.3, new Animation(v => view.ScaleY = v, 1, 0.75));

animation.Add(0.3, 0.4, new Animation(v => view.ScaleX = v, 1.25, 0.75));
animation.Add(0.3, 0.4, new Animation(v => view.ScaleY = v, 0.75, 1.25));
animation.Add(0.3, 0.4, new Animation(v => view.ScaleX = v, 1.25, 0.75));
animation.Add(0.3, 0.4, new Animation(v => view.ScaleY = v, 0.75, 1.25));

animation.Add(0.4, 0.5, new Animation(v => view.ScaleX = v, 0.75, 1.15));
animation.Add(0.4, 0.5, new Animation(v => view.ScaleY = v, 1.25, 0.85));
animation.Add(0.4, 0.5, new Animation(v => view.ScaleX = v, 0.75, 1.15));
animation.Add(0.4, 0.5, new Animation(v => view.ScaleY = v, 1.25, 0.85));

animation.Add(0.5, 0.65, new Animation(v => view.ScaleX = v, 1.15, 0.95));
animation.Add(0.5, 0.65, new Animation(v => view.ScaleY = v, 0.85, 1.05));
animation.Add(0.5, 0.65, new Animation(v => view.ScaleX = v, 1.15, 0.95));
animation.Add(0.5, 0.65, new Animation(v => view.ScaleY = v, 0.85, 1.05));

animation.Add(0.65, 0.75, new Animation(v => view.ScaleX = v, 0.95, 1.05));
animation.Add(0.65, 0.75, new Animation(v => view.ScaleY = v, 1.05, 0.95));
animation.Add(0.65, 0.75, new Animation(v => view.ScaleX = v, 0.95, 1.05));
animation.Add(0.65, 0.75, new Animation(v => view.ScaleY = v, 1.05, 0.95));

animation.Add(0.75, 1, new Animation(v => view.ScaleX = v, 1.05, 1));
animation.Add(0.75, 1, new Animation(v => view.ScaleY = v, 0.95, 1));
}
animation.Add(0.75, 1, new Animation(v => view.ScaleX = v, 1.05, 1));
animation.Add(0.75, 1, new Animation(v => view.ScaleY = v, 0.95, 1));
}

return animation;
}
return animation;
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,4 @@ static Animation Create(double rotationAngle, double minimumScale, double maximu
return animation;
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ public AnimationWrapper(
/// </summary>
public bool IsRunning => owner.AnimationIsRunning(name);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ public static Task WhenCanceled(this CancellationToken cancellationToken)
return completionSource.Task;
}
}
}
}