Animation 表单页面动画
我正在尝试为我的页面制作动画。我希望只有在第一次加载页面时才会触发该动画。 我的动画代码正在运行,示例:Animation 表单页面动画,animation,xamarin.forms,Animation,Xamarin.forms,我正在尝试为我的页面制作动画。我希望只有在第一次加载页面时才会触发该动画。 我的动画代码正在运行,示例: public async Task BackgroundFlyUp() { var destinationRect = new Rectangle(0, Application.Current.MainPage.Height * (1 - FoodViewsConstants.FLY_UP_END), Applicati
public async Task BackgroundFlyUp()
{
var destinationRect = new Rectangle(0, Application.Current.MainPage.Height * (1 - FoodViewsConstants.FLY_UP_END),
Application.Current.MainPage.Width, Application.Current.MainPage.Height * FoodViewsConstants.FLY_UP_END);
await FlyUp.LayoutTo(destinationRect, FoodViewsConstants.FLY_UP_SPEED, Easing.Linear);
await ContentGrid.FadeTo(1, FoodViewsConstants.CONTENT_FADE_SPEED);
}
虽然我不希望我的动画在每次启动
OnAppearing
时都被启动,但我已尝试在我的OnAppearing
方法中添加动画代码,但它无法正常工作。(淡入淡出正在工作,但弹出的无效)并且作为异步方法,它不能放在构造函数中。你们能帮帮我吗?根据我的测试,我猜你们没有从destinationRect得到正确的答案。Application.Current.MainPage.Width
和Application.Current.MainPage.Height
将获得宽度和高度,除非在初始加载时主页尚未显示
您可以使用屏幕大小来代替
public async Task BackgroundFlyUp()
{
// Get Metrics
var mainDisplayInfo = DeviceDisplay.MainDisplayInfo;
// Width (in pixels)
var width = mainDisplayInfo.Width;
// Height (in pixels)
var height = mainDisplayInfo.Height;
var destinationRect = new Rectangle(0, height * (1 - FoodViewsConstants.FLY_UP_END),
width, height * FoodViewsConstants.FLY_UP_END);
await FlyUp.LayoutTo(destinationRect, 5000, Easing.Linear);
await ContentGrid.FadeTo(1, FoodViewsConstants.CONTENT_FADE_SPEED);
}
你能提供更多关于FlyUp.LayoutTo的详细信息吗?FlyUp.LayoutTo
的包是什么?FlyUp
是我的绝对布局的名称。使用LayoutTo
我将更改其高度以匹配destinationRect