vignesh kumar
vignesh kumar

Reputation: 2330

Created a Page as LoadingIndicator in Xamarin.forms?

In my application I have created my own Loading indicator with the help of Page class in xamarin.forms, and I use 'PushModalAsync' api to show Loading Indicator wherever needed like below

var loadingindicator=new LoadingIndicator();
MyApp.CurrentAppInstance.MainPage.Navigation.PushModalAsync(loadingindicator,false);

Everything works as expected and It is looking fine and I also managed to make it look like AndHUD by tweeking the alpha for the controls in that page until I hit an issue,

The issue is that, every time I show and hide the loadingindicator page 'OnAppearing()' getting called on the current top page on view stack.

I can fix this by introducing one additional functionality on all pages where I am using my LoadingIndicator, But I feel there might be some other cleaner way to solve this issue.

Can you guys suggest me if there is any cleaner approach available to solve this issue?

(I target this solution mainly for android and I want to achieve it through common code)

Upvotes: 1

Views: 117

Answers (1)

Alessandro Caliaro
Alessandro Caliaro

Reputation: 5768

If I have understand the problem, I think there are some way to add Loading indicator.

  1. Use ActivityIndicator
  2. Use aritchie/userdialogs's Loading

                using (this.Dialogs.Loading("Test Loading"))
                    await Task.Delay(3000);
    
  3. Create a PopUp With Rg.Plugins.Popup

    // Use these methods in PopupNavigation globally or Navigation in your pages

    // Open new PopupPage Task PushAsync(PopupPage page, bool animate = true) // Navigation.PushPopupAsync

    // Hide last PopupPage Task PopAsync(bool animate = true) // Navigation.PopPopupAsync

    // Hide all PopupPage with animations Task PopAllAsync(bool animate = true) // Navigation.PopAllPopupAsync

    // Remove one popup page in stack Task RemovePageAsync(PopupPage page, bool animate = true) // Navigation.RemovePopupPageAsync

Upvotes: 3

Related Questions