用 C# 创建 Activity 指标

Create Activity Indicator with C #

是否可以在不使用 XAML 的情况下创建 activity 指标?我已经在 .cs 中准备了一个视图,我不想重新创建它。

您也可以通过代码创建通过 XAML 创建的每个控件。请看下面的例子

class MyView : ContentView
{
    AbsoluteLayout _layout;
    ActivityIndicator _activityIndicator;

    void InitializeControls()
    {
        _layout = new AbsoluteLayout();
        this.Content = _layout;

        // ...

        _activityIndicator = new ActivityIndicator();
        AbsoluteLayout.SetLayoutFlags(_activityIndicator, AbsoluteLayoutFlags.PositionProportional);
        AbsoluteLayout.SetLayoutBounds(_activityIndicator, new Rectangle(.5,.5,-1,-1));
        _layout.Children.Add(_activityIndicator);
    }

    async void UpdateData()
    {
        _activityIndicator.IsRunning = true;
        this.Data = GetData();
        _activityIndicator.IsRunning = false;
    }
}

InitializeControls 中,我们首先初始化一个布局(在本例中为 AbsoluteLayout),然后创建一个新的 ActivityIndicator。我们正在使用 AbsoluteLayout.Set... 方法设置 AbsoluteLayout.LayoutFlagsAbsoluteLayout.LayoutBounds(这些是附加属性的设置器,请参阅 here)。最后我们将 ActivityIndicator 添加到 AbsoluteLayout.

UpdateData方法是一个made-up方法,展示了如何在更新视图数据时使用ActivityIndicator。我们首先在 ActivityIndicator 上设置 IsRunning 以显示它,然后获取数据并最后取消设置 IsRunning 以隐藏 `Activity