我有一个页面,当它向上滚动时,我需要页面的页眉部分应该淡出,而当向外滚动时,它应该淡入。我实际上尝试使用淡入功能来做到这一点,但是它使用了时间位置。
问题是淡入淡出功能支持的时间。我需要淡出位置
我尝试过
<ScrollView Scrolled="ScrollView_OnScrolled">
<StackLayout >
<AbsoluteLayout x:Name="AbsoluteLayout1" >
// header part
</AbsoluteLayout>
<StackLayout >
// body part
</StackLayout>
</StackLayout>
在我后面的代码中,我尝试过
private double previousScrollPosition = 0;
private async void ScrollView_OnScrolled(object sender, ScrolledEventArgs e)
{
if (previousScrollPosition < e.ScrollY)
{
//scrolled up
previousScrollPosition = e.ScrollY;
await AbsoluteLayout1.FadeTo(0.2, 400, Easing.SinInOut);
}
}
else
{
//scrolled down
if (Convert.ToInt16(e.ScrollY) == 0)
previousScrollPosition = 0;
await AbsoluteLayout1.FadeTo(1, 400,Easing.SinIn);
}
}
如何在Xamarin表单上使用滚动位置设置淡入淡出
答案 0 :(得分:0)
这是我在这个问题上发现的内容
public static async void CustomAnimation(double position, AbsoluteLayout name)
{
for (double i = 0; i < 81; i++)
{
Change here how you want to change the opacity(can make custom animation)
var x = 1 - 0.0125 * i;
if (position == i)
{
await name.FadeTo(x, 30, Easing.SinOut);
}
}
}