I used ItemAppearing and ItemDisappearing events but it is not working as per my requirement(It is working fine in iOS but not in android)and i created custom render for listview for listview scroll I failed to do that. Can anyone please help me out.
What I have tried:
private void scheduleservicelist_itemappearing(object sender, xamarin.forms.itemvisibilityeventargs e)
{
var currentitem = e.item as mymodel;
if (viewmodel.mylistlist[0].id == currentitem.id)
{
headerlayout.isvisible = true;
headinggrid.margin = new thickness(0, -70, 0, 0);
}
}
private void scheduleservicelist_itemdisappearing(object sender, itemvisibilityeventargs e)
{
var currentitem = e.item as mymodel;
if (viewmodel.mylistlist[0].id == currentitem.id)
{
headerlayout.isvisible = false;
headinggrid.margin = new thickness(0, 0, 0, 0);
}
}
private void ScheduleServiceListView_Scrolled(object sender, ScrolledEventArgs e)
{
double scrollposition = e.ScrollY;
if (scrollposition > previousScrollposition)
{
isScrollUp = true;
isScrollDown = false;
}
else if(scrollposition < previousScrollposition)
{
isScrollDown = true;
isScrollUp = false;
}
else
{
if (isScrollUp)
{
isScrollUp = true;
isScrollDown = false;
} else
{
isScrollDown = true;
isScrollUp = false;
}
scrollposition = 0;
}
if (isScrollUp )
{
HeaderLayout.IsVisible = false;
HeadingGrid.Margin = new Thickness(0, 0, 0, 0);
HeadingGrid.VerticalOptions = LayoutOptions.Start;
}
else
{
HeaderLayout.IsVisible = true;
HeadingGrid.Margin = new Thickness(0, -70, 0, 0);
}
previousScrollposition = scrollposition;
}