Android 上的 ListView 快速捲動

Download Sample 下載範例

此 Android 平臺專用可用來在 中 ListView快速捲動數據。 將附加屬性設定 ListView.IsFastScrollEnabledboolean 值,以在 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快速捲動數據。 此外, SetIsFastScrollEnabled 方法可用來切換快速捲動,方法是呼叫 IsFastScrollEnabled 方法來傳回是否啟用快速捲動:

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

結果是可以啟用 快速捲 ListView 動 中的數據,這會變更捲動拇指的大小:

ListView FastScroll Platform-Specific