Android での ListView の高速スクロール
この Android プラットフォーム固有設定は、ListView
内のデータをすばやくスクロールできるようにするために使われます。 ListView.IsFastScrollEnabled
添付プロパティを boolean
値に設定し、XAML で使用されます。
<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>
または、Fluent API を使用して C# から使用することもできます。
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);
ListView.On<Android>
メソッドは、このプラットフォーム固有の機能が Android 上でのみ実行されるように指定します。 ListView.SetIsFastScrollEnabled
メソッドは、Xamarin.Forms.PlatformConfiguration.AndroidSpecific
名前空間にあり、ListView
でデータを高速にスクロールできるようにするために使用されます。 さらに、高速スクロールが有効かどうかを返す IsFastScrollEnabled
メソッドを呼び出せば、SetIsFastScrollEnabled
メソッドを使用して高速スクロールを切り替えることができます。
listView.On<Android>().SetIsFastScrollEnabled(!listView.On<Android>().IsFastScrollEnabled());
その結果、ListView
内でデータの高速スクロールを有効にできるため、スクロール サムのサイズが変更されます。