【问题标题】:Xamarin forms - Animating a view transition in scrollviewXamarin 表单 - 在滚动视图中动画视图转换
【发布时间】:2016-08-30 11:16:51
【问题描述】:
我的内容页面中有一个滚动视图,其中包含我的自定义视图和 Gridview,如下所示。
<ScrollView Orientation="Vertical">
//Custom content view
//Gridview
</ScrollView>
我使用 IsVisibile 属性动态地隐藏和显示我的自定义内容视图。当我的自定义视图被隐藏时,网格视图会自动调整它的位置而没有动画。有什么方法可以为过渡设置动画。
【问题讨论】:
标签:
scrollview
xamarin.forms
【解决方案1】:
覆盖自定义视图的 setVisibility() 函数以在动画“实际”隐藏之前运行动画。
如下所示:
(此代码只是一个示例,它仅适用于 View.GONE 本身!)
// assume your view will be shredded by Y-axis
@Override
public void setVisibility(final int visibility) {
if(isAnimating)
{
return;
}
isAnimating = true;
animate().scaleY(0).setDuration(700).setInterpolator(AnimationUtil.DECEL)
.withEndAction(new Runnable() {
@Override
public void run() {
isAnimating = false;
setActualVisibility(visibility);
}
});
}
private void setActualVisibility(int visibility)
{
super.setVisibility(visibility);
}