是否可以在不使用XAML的情况下创建活动指示器?我已经准备好了.cs中的视图,我不想重新创建它。
答案 0 :(得分: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.LayoutBounds
和AbsoluteLayout.Set...
(这些是附加属性的设置者,请参阅here)。最后,我们将ActivityIndicator
添加到AbsoluteLayout
。
UpdateData
方法是一种简化方法,用于说明在更新视图数据时如何使用ActivityIndicator
。我们首先在IsRunning
上设置ActivityIndicator
以显示它,然后获取数据并最后取消设置IsRunning
以隐藏“活动