我有一个简单的代码,该代码使用ScaleTo方法来构建简单的动画,并且该代码在上周五一直可以正常工作,突然之间它不再起作用。 这是我的XAML文件:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="TestAnim.MainPage">
<StackLayout Orientation="Vertical">
<Image Source="discount.png" x:Name="img" Scale="0.1"/>
<Button Text="Do" Clicked="doIt"/>
</StackLayout>
</ContentPage>
这是我的C#代码:
using System;
using System.ComponentModel;
using Xamarin.Forms;
namespace TestAnim
{
[DesignTimeVisible(false)]
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
async void doIt (object sender , EventArgs ev)
{
await img.ScaleTo(1, 2000, Easing.BounceOut);
await img.ScaleTo(0.1, 3000, Easing.BounceIn);
}
}
}
运行代码时,我看不到任何效果,如果我注释第二个ScaleTo调用,我会看到图像缩放为1,但这是立即发生的,而不是2秒钟之内!结果,当我使用第二比例尺时,最终结果是根本看不到动画。 正如我之前提到的那样,此方法运行良好,但由于某种原因,持续时间似乎被忽略了,并且缩放似乎立即发生,这就是这里的问题。 还有其他人遇到相同的问题吗?
答案 0 :(得分:0)
如果您使用的Xamarin.Forms 4.2+版本当前存在一个有关动画的错误,则可以here对其进行跟踪。
我已经在Xamarin.Forms 4.1.0.581479中复制了您的代码,并且工作正常。