ScrollView
超过AbsoluteLayout
..
我需要在屏幕中心修复ActivityIndicator的位置。
我尝试了以下代码。
<ScrollView>
<AbsoluteLayout VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand">
<StackLayout BackgroundColor="White"
Padding="50,20,50,20"
Spacing="5"
AbsoluteLayout.LayoutBounds="0,0,1,1"
AbsoluteLayout.LayoutFlags="All">
// have set of elements..
</StackLayout>
<ActivityIndicator IsVisible="{Binding IsBusy}"
IsRunning="{Binding IsBusy}"
Color="Black"
AbsoluteLayout.LayoutBounds="0.5,0.5,0.1,0.1"
AbsoluteLayout.LayoutFlags="All"/>
</AbsoluteLayout>
</ScrollView>
我发现结果位于ScrollView
的中心。
我尝试将ActivityIndicator
放在ScrollView
的外侧,只是将白色屏幕作为输出。
如何在屏幕中心修复ActivityIndicator
的位置?
答案 0 :(得分:5)
正如@Vahid所说,如果你希望ActivityIndicator
超过ScrollView
,你需要将两者放在AbsoluteLayout中,如下所示:
<AbsoluteLayout VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand">
<ScrollView AbsoluteLayout.LayoutBounds="0,0,1,1"
AbsoluteLayout.LayoutFlags="All"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand">
<StackLayout BackgroundColor="White"
Padding="50,20,50,20"
Spacing="5">
// Your stuff goes here
</StackLayout>
</ScrollView>
<AbsoluteLayout BackgroundColor="#22000000"
AbsoluteLayout.LayoutBounds="0.5,0.5,1,1"
AbsoluteLayout.LayoutFlags="All"
IsVisible="{Binding IsBusy}">
<ActivityIndicator Color="Black"
AbsoluteLayout.LayoutBounds="0.5,0.5,0.1,0.1"
AbsoluteLayout.LayoutFlags="All"
IsVisible="True"
IsRunning="True"/>
</AbsoluteLayout>
</AbsoluteLayout>
请注意,我添加了额外的AbsoluteLayout
,其效果类似于等待叠加层&#39;只在ScrollView
上 - 而不是整个屏幕。
答案 1 :(得分:1)
创建一个包含一行和一列的网格页面。 将ActivityIndicatorLayout和ScrollLayout定义为第0行和第0列。我在活动指标之前添加内容。
答案 2 :(得分:0)
您可以使用Rg.Plugins.Popup
设计带有活动指示器的弹出页面,您可以在任何地方显示它。