如何做到平滑的TranslateAnimation

时间:2013-07-22 16:56:58

标签: animation xamarin.android xamarin-studio

我刚开始使用Xamarin在C#中做Android应用程序。 我正在玩动画,但很难找到任何好的教程。 我已经制作了下面的代码,但是我的irisImageView只是跳到了这个位置而不是平滑的运动?

我如何顺畅地移动图像?

protected override void OnCreate (Bundle bundle)

    {

        base.OnCreate (bundle);



        // Set our view from the "main" layout resource

        SetContentView (Resource.Layout.Main);



        ImageView faceImageView = FindViewById<ImageView> (Resource.Id.faceImageView);

        ImageView irisImageView = FindViewById<ImageView> (Resource.Id.irisImageView);


        AnimateIris (irisImageView);

    }



    public void AnimateIris(ImageView iris)

    {

        Animation anim = new TranslateAnimation(10,10,150,150);

        anim.Duration = 5000;

        iris.StartAnimation (anim);



    }

1 个答案:

答案 0 :(得分:2)

以下是一些要注意的事项:

  1. 在当前示例中,您有new TranslateAnimation(10,10,150,150),这意味着您的动画以相同的X和Y坐标开始和结束。更新结束的X和Y位置,以便进行动画。
  2. 您可能会看到跳转到该位置,因为图像的动画效果为5秒(但由于起点/终点相同而无法移动),然后根据Android axml文件的指示移动到其位置。例如,如果您的ImageView位于左上角,那么我敢打赌它会在5秒后从您的起点跳到左上角。
  3. 首先尝试更新TranslateAnimation,然后弄乱ImageView在您的布局中的位置!