我有一个Xamarin表单页面,它分为2个部分,前40%包含堆栈布局中的搜索控件,另外60%包含列表视图。在向上滚动列表视图时,我想隐藏顶部40%屏幕的堆栈布局。
我实现了从以下引用实现列表的滚动事件: https://github.com/velocitysystems/xf-controls/blob/master/XF.Controls/XF.Controls/Views/ListView.cs
我可以隐藏stackLayout但是有很多闪烁。不知道怎么能阻止闪烁?输出不清晰稳定。
答案 0 :(得分:1)
您可以使用动画TranslateTo for StackLayout。
示例:
OnScrolled()
{
Device.BeginInvokeOnMainThread(() => {
if(isScrollToUp)
HeaderStackLayout.TranslateTo(0,-500);
else
HeaderStackLayout.TranslateTo(0,500);
});
}
答案 1 :(得分:1)
您可以将搜索控件作为ListView的标题: https://developer.xamarin.com/guides/xamarin-forms/user-interface/listview/customizing-list-appearance/#Headers_and_Footers
由于标题是ListView本身的一部分,所以当您有足够的内容滚动浏览时,它将按预期滚动。