Как отметил другой пользователь в комментариях, ActivityIndicator
не появится, если вы не добавите его на страницу.Вы добавляете его на страницу в конце GetProduct()
и сразу делаете его невидимым, следовательно, он никогда не виден, либо потому, что он еще не был добавлен, либо потому, что он стал невидимым.
Есть несколько возможностей, которых вы можете достичь, чего хотите.Самым простым может быть добавление ActivityIndicator
в начале GetProducts()
var indicator = new ActivityIndicator
{
HorizontalOptions = LayoutOptions.CenterAndExpand,
Color = Color.Black,
IsVisible = true,
IsRunning = true
};
this.Content = indicator;
HttpClient httpClient = new HttpClient();
var response = await httpClient.GetStringAsync("http://mySrvice.domain.com/api/news/getlastten");
(IsRunning
устанавливается немедленно, поскольку я предполагаю, что вы хотите, чтобы индикатор работал пока вы получаете продукты с сервера, а не после.)
Вам не понадобится индикатор в окончательном макете стека, поэтому вы можете установить Content
с помощью
this.Content = new StackLayout
{
Children =
{
header,
listView
}
};
Примечание: : использование XAML и MVVM может быть очень полезным для этих вещей.