使用C#创建活动指示器

问题描述 投票:0回答:1

是否可以在不使用XAML的情况下创建活动指示器?我已经准备好了.cs中的视图,我不想重新创建它。

c# xaml xamarin.forms cross-platform
1个回答
1
投票

您也可以通过代码创建可以通过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.LayoutFlags方法设置AbsoluteLayout.LayoutBoundsAbsoluteLayout.Set...(这些是附加属性的设置者,请参阅here)。最后我们将ActivityIndicator添加到AbsoluteLayout

UpdateData方法是一种制作方法,用于说明在更新视图数据时如何使用ActivityIndicator。我们首先在IsRunning上设置ActivityIndicator来显示它,然后获取数据并最后取消设置IsRunning来隐藏`

© www.soinside.com 2019 - 2024. All rights reserved.