Xamarin在ListView

时间:2017-01-25 13:50:13

标签: xaml listview xamarin activity-indicator

我的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>

1 个答案:

答案 0 :(得分:3)

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

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

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

宽度和高度的值都设置为-1。这被视为宽度和高度的“特殊值”,意思是“自动”。