我希望能够在整个列表视图(而不是列表视图中的单个项目)上滑动以执行特定操作。我在 Gridview 内的列表视图上附加了滑动手势。它在 iOS 中按预期工作,但在 android 上永远不会触发手势。
我已经尝试将手势识别器放在仅适用于 android 的父 gridview 上。这会重新启用该功能,但前提是滑动包括屏幕的最边缘(我假设由于列表视图没有占用我的小填充。)我该怎么做才能使行为类似于IOS?
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Test.ViewModels"
mc:Ignorable="d"
x:Class="Test.Pages.ViewerPage"
x:Name="View">
<ContentView.BindingContext>
<local:ViewerViewModel />
</ContentView.BindingContext>
<Grid Padding="10, 0, 10, 0">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Padding="0, 5, 0, 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="50" />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Text="Back" IsVisible="{Binding ShowBackButton}" Clicked="OnBackTap" VerticalOptions="Center" Padding="10, 0, 0, 0">
</Button>
<Button Grid.Column="1" x:Name="Header" HorizontalOptions="Center" BorderColor="Black" TextColor="Black" VerticalOptions="Center" BorderWidth="1" Clicked="OnTitleTap">
</Button>
</Grid>
<ListView Grid.Row="1" x:Name="Viewer" HasUnevenRows="True" SeparatorVisibility="None" BackgroundColor="Green">
<ListView.GestureRecognizers>
<SwipeGestureRecognizer Direction="Left" Swiped="OnSwiped" />
<SwipeGestureRecognizer Direction="Right" Swiped="OnSwiped"/>
</ListView.GestureRecognizers>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell IsEnabled="False">
<StackLayout>
<Label>
<Label.FormattedText>
<FormattedString>
<Span Text="{Binding verse}" FontSize="18" TextColor="Gray"></Span>
<Span Text=" "></Span>
<Span Text="{Binding text}" FontSize="18" TextColor="Black"></Span>
</FormattedString>
</Label.FormattedText>
</Label>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</ContentView>
