如何在 Xamarin Forms 中为 ListView 项目设置动画?
How to Animate ListView items in Xamarin Forms?
我想在通过 API 调用添加列表项后对其进行动画处理。但是只有在它们第一次加载时才对它们进行动画处理。
要访问 ViewCell,您可以使用出现在 ViewCell 元素上的事件。您可以在 Scrolled 事件上设置一个标志,以防止在后续出现的触发器上出现动画。
<ListView Scrolled="listView_Scrolled" ItemsSource="{Binding Items}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell Appearing="ViewCell_Appearing">
[Content Here]
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
private bool scrolled = false;
...
void ViewCell_Appearing(object sender, EventArgs e)
{
if (!scrolled)
{
ViewCell cell = (ViewCell)sender;
CustomAnimation(cell);
}
}
void listView_Scrolled(object sender, ScrolledEventArgs e)
{
scrolled = true;
}
我想在通过 API 调用添加列表项后对其进行动画处理。但是只有在它们第一次加载时才对它们进行动画处理。
要访问 ViewCell,您可以使用出现在 ViewCell 元素上的事件。您可以在 Scrolled 事件上设置一个标志,以防止在后续出现的触发器上出现动画。
<ListView Scrolled="listView_Scrolled" ItemsSource="{Binding Items}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell Appearing="ViewCell_Appearing">
[Content Here]
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
private bool scrolled = false;
...
void ViewCell_Appearing(object sender, EventArgs e)
{
if (!scrolled)
{
ViewCell cell = (ViewCell)sender;
CustomAnimation(cell);
}
}
void listView_Scrolled(object sender, ScrolledEventArgs e)
{
scrolled = true;
}