Xamarin 在 ListView 上形成 ActivityIndi​​cator

Xamarin Forms ActivityIndicator over ListView

我的ActivityIndi​​cator在页面底部,但应该在中间。我尝试了我在互联网上找到的一切,但没有任何效果。

Image

<AbsoluteLayout HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">

    <StackLayout AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1">
      <SearchBar Placeholder="Parkhaus suchen" Text="{Binding SearchText}"/>

      <ListView x:Name="HomeListView" ItemsSource="{Binding Parking}" HasUnevenRows="False"  VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
        <ListView.ItemTemplate>
          <DataTemplate>
            ...
          </DataTemplate>
        </ListView.ItemTemplate>
        <ListView.Footer/>
      </ListView>
    </StackLayout>

   <StackLayout AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1">
        <ActivityIndicator IsRunning="{Binding IsBusy}" IsVisible="{Binding IsBusy}" VerticalOptions="Center" HorizontalOptions="Center"/>
   </StackLayout>

</AbsoluteLayout>

尝试更改 ActivityIndi​​cator 周围的 StackLayout 以使用:

AbsoluteLayout.LayoutFlags="PositionProportional"
AbsoluteLayout.LayoutBounds="0.5,0.5,-1,-1"

PositionPropertional标志告诉AbsoluteLayout,元素的x和y位置是基于绝对布局的大小,考虑到元素的大小。所以 0.5 告诉它使元素在 AbsoluteLayout 中居中。

宽度和高度的值都设置为-1。这被认为是宽度和高度的 "special value",意思是 "Auto"。