Aracılığıyla paylaş


Android'de ListView Hızlı Kaydırma

Android platformuna özgü bu, içindeki ListViewverilerde hızlı kaydırmayı etkinleştirmek için kullanılır. Ekli özelliği bir boolean değere ayarlayarak ListView.IsFastScrollEnabled XAML'de kullanılır:

<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>

Alternatif olarak, akıcı API kullanılarak C# dilinden de kullanılabilir:

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);

yöntemi, ListView.On<Android> platforma özgü bu uygulamanın yalnızca Android'de çalışacağını belirtir. ListView.SetIsFastScrollEnabled ad alanında Xamarin.Forms.PlatformConfiguration.AndroidSpecific yöntemi, içindeki ListViewverilerde hızlı kaydırmayı etkinleştirmek için kullanılır. Ayrıca, hızlı kaydırmanın SetIsFastScrollEnabled etkinleştirilip etkinleştirilmediğini döndürmek için yöntemini çağırarak IsFastScrollEnabled hızlı kaydırmayı değiştirmek için yöntemi kullanılabilir:

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

Sonuç olarak, bir ListView içindeki veriler arasında hızlı kaydırma etkinleştirilebilir ve bu da kaydırma başparmağının boyutunu değiştirir:

ListView FastScroll Platforma Özgü