如何在Shell Flyout中添加ActivityIndicator

3

我在shell的FlyoutFooter中添加了一个注销按钮。点击后,需要等待一定时间才能连接到服务器,因此我需要在flyout中添加一个ActivityIndicator

  <Shell.FlyoutFooter>
        <Grid>
            <Button Text="Logout"
                    Clicked="Button_Clicked"/>
        </Grid>
    </Shell.FlyoutFooter>

我该如何把它添加在那里?

1个回答

1
您可以使用 FlyoutContent 属性:
   <Shell.FlyoutFooter>
        <Grid>
            <Button Text="Logout"
                    Clicked="Button_Clicked"/>
        </Grid>
    </Shell.FlyoutFooter>

        private async void Button_Clicked(object sender, EventArgs e)
        {
            var grid = new Grid();
            grid.Children.Add(new ActivityIndicator()
            {
                IsRunning = true,
                VerticalOptions = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Center
            });

            Current.FlyoutContent = grid;
            await Task.Delay(5000);
            FlyoutContent = null;
        }

enter image description here enter image description here


非常感谢。虽然方法有些不同,但是根据您的想法我解决了问题。 我对Strack Overflow不是很熟悉,我不小心编辑了您的答案,请原谅我。 - KLu
没问题,不用担心 :) - Cfun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接