我目前正在调整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();
答案 0 :(得分:-1)
嘿,只需将mapView或mapFragment的初始大小设置为您想要扩展的大小,然后将其放入较小的支架布局(所需的地图的初始大小)中,并且当您要设置动画时,只需为持有人视图制作动画。滞后的发生是由于重新绘制地图所花费的时间。