listview - Xamarin.Forms:将导航栏(标题)绑定到列表视图并使其随列表上下滚动
问题描述
我正在尝试实现我在许多应用程序上看到的效果 - 但似乎无法在谷歌上找到解决方案,或者我的措辞错误?
您可能见过应用程序,其中有一个大标题(不一定是导航栏),当该页面内的列表视图向下滚动时,它会滚动到视图之外。只要用户在列表视图内的任何点向上滚动,标题就会随着列表视图向后滚动。我想达到同样的效果:
我有这个列表视图:
<flv:FlowListView
Grid.Column="1"
FlowItemAppearing="listview_allAds_FlowItemAppearing"
FlowIsLoadingInfiniteEnabled="True"
Refreshing="listview_allAds_Refreshing"
FlowColumnCount="2"
IsPullToRefreshEnabled="True"
Margin="0,0,0,0"
VerticalScrollBarVisibility="Never"
FlowItemTapped="listview_allAds_FlowItemTapped"
HasUnevenRows="True"
x:Name="listview_allAds" >
<flv:FlowListView.FlowColumnTemplate>
<DataTemplate>
<ContentView Padding="4,3,3,4">
<!-- contents-->
</ContentView>
</DataTemplate>
</flv:FlowListView.FlowColumnTemplate>
</flv:FlowListView>
这个标题:
<ScrollView BackgroundColor="#B9CAD4" Orientation="Horizontal" HorizontalScrollBarVisibility="Never">
<Grid Margin="0,5,0,5" ColumnSpacing="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Grid Margin="2,0,2,0" Grid.Column="0">
</Grid>
</Grid>
</ScrollView>
但是,当然,两种布局都是固定的:
我如何将这两种布局绑定在一起,以使一种布局影响另一种并显示更多空间?
谢谢!
解决方案
您可以设置 ListView 的Header。在您的情况下,您使用了第三方插件。你也可以像下面这样设置它
<flv:FlowListView.Header>
<!-- contents-->
//set the content View of header here
</flv:FlowListView.Header>
推荐阅读
- javascript - 提交表单时更改隐藏的输入值
- azure - 如何在 Azure Devops 管道中的 YAML 中设置管道“任务版本”
- bash - 为什么bash变量不会在while循环中扩展
- android - Android google play 控制台错误 APK 不安全地传输用户数据
- javascript - 在 vuejs 中使用 setinterval 和 clear interval 根据该 json 中声明的状态来获取 json
- typescript - 应用函数名称和参数的函数类型
- javascript - 在 Dynamics 365 中,如何记住页面刷新后的最后一个活动选项卡?
- blazor - 在应用程序启动时调用代码方法(无需调用@onclick)
- python - 存储顺序工作流的正确数据结构或库
- javascript - 带 Vega 的区域范围图