Я хотел добавить пролистывание gesture recognizer
к кадру. Поэтому, когда пользователь держит палец на Frame
, он может положить его на мусорный ящик и удалить его.
Тем не менее, кажется, что жест смахивания не распознается, так как я сделал отладку и event handler
не был запущен.
Код Xaml:
<StackLayout Padding="0,100,0,0" Spacing="10" x:Name="MeusObjectivosLayout">
<Label Text="Meus Objectivos" IsVisible="True" FontSize="Small" TextColor="Black"/>
<CollectionView x:Name="lista">
<CollectionView.ItemsLayout>
<GridItemsLayout Orientation="Vertical" Span="1"/>
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="0,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Frame BackgroundColor="#00b9ff" CornerRadius="4">
<local:CustomEditor Completed="LabelObjectivo_Completed" Text="{Binding Titulo}" x:Name="labelObjectivo" TextColor="White" FontAttributes="Bold"/>
<Frame.GestureRecognizers>
<SwipeGestureRecognizer Direction="Down" Swiped="FrameSwiped"/>
</Frame.GestureRecognizers>
</Frame>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</StackLayout>
Обработчик событий:
private void FrameSwiped(object sender, SwipedEventArgs e)
{
var frame = sender as Frame;
frame.LayoutTo(new Rectangle(0, 100, frame.Width, frame.Height), 1250, Easing.SpringIn);
}
PS: Как я могу реализовать что-то вроде удаления приложения на Android? Удерживая палец на приложении, переместите к значку мусорной корзины.