我有一个Xamarin Carousel视图,其中PeakAreaInsets设置得很高,这样我就可以一次看到列表中的多个项目。但是,我注意到当设置为对齐时,当前项目会在我希望对齐到页面中心时使其自身与页面顶部对齐。我该怎么做?
这里是所讨论的代码的片段:
<ContentPage.Content>
<CarouselView ItemsSource="{Binding Days}"
CurrentItem="{Binding SelectedDay}"
VerticalOptions="Center"
HorizontalOptions="Center"
PeekAreaInsets="300"
x:Name="DayCarousel">
<CarouselView.ItemsLayout>
<LinearItemsLayout SnapPointsAlignment="Center"
SnapPointsType="Mandatory"
Orientation="Vertical"/>
</CarouselView.ItemsLayout>
<CarouselView.ItemTemplate>
<DataTemplate>
<StackLayout Spacing="0"
Orientation="Vertical"
HorizontalOptions="Center"
VerticalOptions="Center"
Margin="30,10">
<Label Text="{Binding FormattedDate}"
HorizontalOptions="Center"
VerticalOptions="Center"
Style="{StaticResource LabelStyle}"/>
<Label Text="{Binding TitleText}"
HorizontalOptions="Center"
VerticalOptions="Center"
Style="{StaticResource LabelHeader1Style}"/>
<StackLayout.GestureRecognizers>
<TapGestureRecognizer Command="{Binding BindingContext.SelectDay, Source={x:Reference this}}"
CommandParameter="{Binding .}"/>
</StackLayout.GestureRecognizers>
</StackLayout>
</DataTemplate>
</CarouselView.ItemTemplate>
</CarouselView>
</ContentPage.Content>
这里是关于现在的样子(只是一个模型):
这是我想要的样子:
我最终玩了一下。我不确定在其他电话格式和尺寸上会如何显示,因为我尚未对其进行测试。但是最终我在调整了PeakAreaInsets
并调整了SnapPointsAlignment
之后发现了一个快乐的媒体。目前,我将其设置为PeakAreaInsets = 350
和SnapPointsAlignment="Start"