Desplazamiento rápido de ListView en Android
Esta característica específica de la plataforma Android se usa para habilitar el 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: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>
Como alternativa, se puede consumir desde C# mediante la API fluida:
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);
El método ListView.On<Android>
especifica que esta plataforma específica solo se ejecutará en Android. El método ListView.SetIsFastScrollEnabled
, en el espacio de nombres Xamarin.Forms.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<Android>().SetIsFastScrollEnabled(!listView.On<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: