Freigeben über


ListView Fast Scrolling unter Android

Diese plattformspezifische Android-Plattform wird verwendet, um schnelles Scrollen durch Daten in einem ListView. Sie wird in XAML genutzt, indem die ListView.IsFastScrollEnabled-angefügte Eigenschaft auf einen boolean-Wert festgelegt wird:

<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>

Alternativ kann sie mit der Fluent-API von C# genutzt werden:

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);

Die ListView.On<Android> Methode gibt an, dass diese plattformspezifisch nur unter Android ausgeführt wird. Die ListView.SetIsFastScrollEnabled Methode im Xamarin.Forms.PlatformConfiguration.AndroidSpecific-Namensbereich wird verwendet, um das schnelle Scrollen durch Daten in einem ListView zu ermöglichen. Zusätzlich kann die SetIsFastScrollEnabled Methode verwendet werden, um auf schnelles Scrollen umzuschalten, indem die IsFastScrollEnabled Methode aufgerufen wird, die zurückgibt, ob schnelles Scrollen aktiviert ist:

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

Das Ergebnis ist, dass schnelles Scrollen durch Daten in einem ListView aktiviert werden kann, wodurch sich die Größe des Mauszeigers ändert:

ListView FastScroll Plattformspezifisch