Android MapFragment调整大小的动画断断续续/滞后

问题描述 投票:3回答:1

我目前正在调整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();
android google-maps android-layout xamarin xamarin.android
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.