Xamarin 窗体:使用绝对布局边界进行动画处理



我的应用程序中有一个网格:-

   <Grid x:Name="BookPagerContainer" IsVisible="false" ColumnSpacing="0" RowSpacing="0" AbsoluteLayout.LayoutBounds="0,1,1,AutoSize" AbsoluteLayout.LayoutFlags="XProportional,YProportional,WidthProportional">
        <BoxView Color="{DynamicResource HeaderColor}" Opacity="0.5"></BoxView>
        <Grid x:Name="BookPager" ColumnSpacing="0" RowSpacing="0" HorizontalOptions="Center" Padding="0,5,0,5">
          <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
          </Grid.RowDefinitions>
        </Grid>
      </Grid>

我想隐藏/显示这个网格,并带有上下移动等动画。 我尝试了这样的事情:

var animation = new Animation(v => BookPagerContainer.HeightRequest = v,1, AutoSize);
    animation.Commit(this, "SimpleAnimation", 500, 500, Easing.Linear, (v, c) => {
       BookPagerContainer.HeightRequest = AutoSize;
    }, () => false);

但它没有奏效。

如果要移动网格,可以使用TranslateTo扩展方法。

例如:

await _BookPagerContainer.TranslateTo(0, _BookPagerContainer.Height);

最新更新