我目前正在调整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();

最佳答案

嘿,只需将mapView或mapFragment的初始尺寸设置为您想要扩展的尺寸,然后将其放置在较小的支架布局(所需的地图的初始尺寸)中,当要设置动画时,只需为支架动画即可视图。由于重新绘制地图会浪费时间,因此会发生滞后。

关于android - Android MapFragment调整动画大小/断断续续,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38578769/

10-12 05:10