# .NET MAUI RefreshView Indicator Type

The RefreshView indicator type defines the built-in indicator that the control shows while the user pulls the content and while a refresh is in progress. Choose an indicator type to match the look of your app or to keep the same indicator on all platforms.

## Select the Built-In Indicator

To select the built-in indicator, set the `IndicatorType` property (`enum` of type `Telerik.Maui.Controls.RefreshView.RefreshViewIndicatorType`). The property accepts the following values:

* `Circular`—Displays a circular indicator with a progress arc and a pull arrow. Default on Android.
* `Spinner`—Displays an indicator with eight rotating bars. Default on iOS and MacCatalyst.
* `Arrow`—Displays a refresh arrow that rotates while pulling, pulses at the refresh threshold, and spins while refreshing. Default on Windows.

> note When you set the `PullingTemplate` or `RefreshingTemplate` property, the template replaces the built-in indicator for the respective phase. For more information, see [RefreshView Templates](https://www.telerik.com/maui-ui/documentation/controls/refreshview/templates).

> caption Circular indicator

![.NET MAUI RefreshView with a circular built-in indicator that shows a progress arc and a pull arrow](https://www.telerik.com/maui-ui/documentation/assets/53a0ded65f737629f5b7d04869b27396/refreshview-indicator-type-circular.gif)

> caption Spinner indicator

![.NET MAUI RefreshView with a spinner built-in indicator that shows eight rotating bars](https://www.telerik.com/maui-ui/documentation/assets/e5bc14fcabec604cac3779330da628ac/refreshview-indicator-type-spinner.gif)

> caption Arrow indicator

![.NET MAUI RefreshView with an arrow built-in indicator that rotates while pulling, pulses at the refresh threshold, and spins while refreshing](https://www.telerik.com/maui-ui/documentation/assets/b874620eede787e9224ad33d5e4131e7/refreshview-indicator-type-arrow.gif)

## Set the Indicator Type

The following example demonstrates how to set the `IndicatorType` property of the RefreshView.

1. Define the RefreshView in XAML:

   ```XAML
   <telerik:RadRefreshView x:Name="refreshView"
                           IndicatorType="Circular"
                           Refreshing="OnRefreshing">
       <VerticalStackLayout Padding="20"
                            Spacing="10"
                            BackgroundColor="#EEEEEE">
           <Label Text="IndicatorType:"
                  VerticalOptions="Center" />
           <telerik:RadComboBox x:Name="indicatorTypeComboBox"
                                HorizontalOptions="Start"
                                WidthRequest="160" />
           <Label Text="Pull down to see the selected indicator." />
           <Label x:Name="statusLabel"
                  Text="Not refreshed yet" />
       </VerticalStackLayout>
   </telerik:RadRefreshView>
   ```

2. Add the `telerik` namespace:

   ```XAML
   xmlns:telerik="http://schemas.telerik.com/2022/xaml/maui"
   ```

3. Handle the `Refreshing` event and end the refresh when the data is loaded:

   ```C#
   private async void OnRefreshing(object sender, EventArgs e)
   {
       await Task.Delay(1500);
       this.refreshCount++;
       this.statusLabel.Text = $"Refreshed {this.refreshCount} time(s) using {this.refreshView.IndicatorType} indicator";
       this.refreshView.IsRefreshing = false;
   }
   ```

> tip For a runnable example with the RefreshView Indicator Type scenario, see the [SDKBrowser Demo Application](https://www.telerik.com/maui-ui/documentation/demos-and-sample-apps/sdkbrowser-app) and go to the **RefreshView > Configuration** category.

## See Also

* [Styling the RefreshView](https://www.telerik.com/maui-ui/documentation/controls/refreshview/styling)
* [RefreshView Templates](https://www.telerik.com/maui-ui/documentation/controls/refreshview/templates)
* [Transition Mode](https://www.telerik.com/maui-ui/documentation/controls/refreshview/transition-mode)
