Compartir a través de


Desplazamiento rápido de ListView en Android

Este .NET Multi-platform App UI (.NET MAUI) Android específico de la plataforma se usa para permitir un desplazamiento rápido por los datos de ListView. Se consume en XAML configurando la propiedad adjunta ListView.IsFastScrollEnabled en un valor boolean:

<ContentPage ...
             xmlns:android="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls">
    <StackLayout>
        ...
        <ListView ItemsSource="{Binding GroupedEmployees}"
                  GroupDisplayBinding="{Binding Key}"
                  IsGroupingEnabled="true"
                  android:ListView.IsFastScrollEnabled="true">
            ...
        </ListView>
    </StackLayout>
</ContentPage>

Como alternativa, se puede consumir desde C# mediante la API fluida:

using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
...

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

El método ListView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android> especifica que esta plataforma específica solo se ejecutará en Android. El método ListView.SetIsFastScrollEnabled, en el espacio de nombres Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific, se usa para habilitar el desplazamiento rápido por los datos de ListView. Además, el método SetIsFastScrollEnabled se puede usar para alternar el desplazamiento rápido llamando al método IsFastScrollEnabled para devolver si el desplazamiento rápido está habilitado:

listView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>().SetIsFastScrollEnabled(!listView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>().IsFastScrollEnabled());

El resultado es que se puede habilitar el desplazamiento rápido por los datos de ListView, lo que cambia el tamaño del pulgar de desplazamiento:

ListView FastScroll Platform-Specific.