Xamarin表单:滚动列表时隐藏堆栈

时间:2018-01-09 12:22:40

标签: xamarin xamarin.forms xamarin.ios xamarin.android

我有一个Xamarin表单页面,它分为2个部分,前40%包含堆栈布局中的搜索控件,另外60%包含列表视图。在向上滚动列表视图时,我想隐藏顶部40%屏幕的堆栈布局。

我实现了从以下引用实现列表的滚动事件: https://github.com/velocitysystems/xf-controls/blob/master/XF.Controls/XF.Controls/Views/ListView.cs

我可以隐藏stackLayout但是有很多闪烁。不知道怎么能阻止闪烁?输出不清晰稳定。

2 个答案:

答案 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本身的一部分,所以当您有足够的内容滚动浏览时,它将按预期滚动。