Partager via


Défilement rapide ListView sur Android

Cette plateforme Android spécifique est utilisée pour activer le défilement rapide des données dans un ListView. Elle est consommée en XAML en définissant la ListView.IsFastScrollEnabled propriété jointe sur une boolean valeur :

<ContentPage ...
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout Margin="20">
        ...
        <ListView ItemsSource="{Binding GroupedEmployees}"
                  GroupDisplayBinding="{Binding Key}"
                  IsGroupingEnabled="true"
                  android:ListView.IsFastScrollEnabled="true">
            ...
        </ListView>
    </StackLayout>
</ContentPage>

Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...

var listView = new Xamarin.Forms.ListView { IsGroupingEnabled = true, ... };
listView.SetBinding(ItemsView<Cell>.ItemsSourceProperty, "GroupedEmployees");
listView.GroupDisplayBinding = new Binding("Key");
listView.On<Android>().SetIsFastScrollEnabled(true);

La ListView.On<Android> méthode spécifie que cette plateforme spécifique ne s’exécutera que sur Android. La ListView.SetIsFastScrollEnabled méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.AndroidSpecific de noms, est utilisée pour activer le défilement rapide des données dans un ListView. En outre, la SetIsFastScrollEnabled méthode peut être utilisée pour activer le défilement rapide en appelant la IsFastScrollEnabled méthode pour retourner si le défilement rapide est activé :

listView.On<Android>().SetIsFastScrollEnabled(!listView.On<Android>().IsFastScrollEnabled());

Le résultat est que le défilement rapide des données dans un ListView peut être activé, ce qui modifie la taille du pouce de défilement :

ListView FastScroll Platform-Specific