Android의 ListView 빠른 스크롤

Download Sample 샘플 다운로드

이 Android 플랫폼별은 .에서 ListView데이터를 빠르게 스크롤할 수 있도록 하는 데 사용됩니다. 연결된 속성을 boolean 값으로 설정 ListView.IsFastScrollEnabled 하여 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>

또는 흐름 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데이터를 빠르게 스크롤할 수 있도록 하는 데 사용됩니다. 또한 메서드를 SetIsFastScrollEnabled 사용하여 빠른 스크롤을 사용할 수 있는지 여부를 반환하도록 메서드를 호출 IsFastScrollEnabled 하여 빠른 스크롤을 전환할 수 있습니다.

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

그 결과 빠른 스크롤 데이터 스크롤을 ListView 사용하도록 설정할 수 있으므로 스크롤 엄지 손가락의 크기가 변경됩니다.

ListView FastScroll Platform-Specific