Szybkie przewijanie elementu ListView w systemie Android
Ten wieloplatformowy interfejs użytkownika aplikacji platformy .NET (.NET MAUI) systemu Android służy do szybkiego przewijania danych w obiekcie ListView. Jest on używany w języku XAML przez ustawienie dołączonej ListView.IsFastScrollEnabled
boolean
właściwości na wartość:
<ContentPage ...
xmlns:android="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls"
xmlns:local="clr-namespace:PlatformSpecifics"
x:DataType="local:ListViewViewModel">
<StackLayout>
...
<ListView ItemsSource="{Binding GroupedEmployees}"
GroupDisplayBinding="{Binding Key}"
IsGroupingEnabled="true"
android:ListView.IsFastScrollEnabled="true">
...
</ListView>
</StackLayout>
</ContentPage>
Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
...
var listView = new Microsoft.Maui.Controls.ListView { IsGroupingEnabled = true, ItemTemplate = personDataTemplate };
listView.SetBinding(ItemsView<Cell>.ItemsSourceProperty, static (ListViewViewModel vm) => vm.GroupedEmployees); // .NET 9+ compiled binding
listView.GroupDisplayBinding = Binding.Create(static (Grouping<char, Person> g) => g.Key); // .NET 9+ compiled binding
listView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>().SetIsFastScrollEnabled(true);
Metoda ListView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>
określa, że ta platforma będzie działać tylko w systemie Android. Metoda ListView.SetIsFastScrollEnabled
w Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific
przestrzeni nazw służy do szybkiego przewijania danych w obiekcie ListView. Ponadto SetIsFastScrollEnabled
metoda może służyć do przełączania szybkiego przewijania przez wywołanie IsFastScrollEnabled
metody w celu zwrócenia, czy włączono szybkie przewijanie:
listView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>().SetIsFastScrollEnabled(!listView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>().IsFastScrollEnabled());
Wynikiem jest to, że szybkie przewijanie danych w obiekcie ListView można włączyć, co zmienia rozmiar kciuka przewijania: