Android MapFragment调整动画波动/滞后

时间:2016-07-25 23:13:09

标签: android google-maps android-layout xamarin xamarin.android

我目前正在调整Google Map MapFragment视图的大小(从全屏高度到半屏)。我使用ValueAnimator来实现这一点,但动画似乎在设备上滞后(Nexus 6p)。我正在使用所有默认插值器。我做错了什么?

var animY = ValueAnimator.OfFloat(startY, endY);
animY.SetDuration(1000);
animY.AddUpdateListener(new AnimatorUpdatedListener((a) =>
    {
        var layout = MapFragment.View.LayoutParameters;
        layout.Height = (int)a.AnimatedValue;
        MapFragment.View.LayoutParameters = layout;
        MapFragment.View.RequestLayout();
    }));
animY.Start();

1 个答案:

答案 0 :(得分:-1)

嘿,只需将mapView或mapFragment的初始大小设置为您想要扩展的大小,然后将其放入较小的支架布局(所需的地图的初始大小)中,并且当您要设置动画时,只需为持有人视图制作动画。滞后的发生是由于重新绘制地图所花费的时间。