.NET MAUI ScrollView 滚动视图布局

.NET Multi-platform App UI (.NET MAUI) ScrollView 是能够滚动其内容的视图。 默认情况下,ScrollView 垂直滚动其内容

ScrollView 属性

  1. Content - 这是滚动视图内部包含的内容,通常是一个布局或者视图。你可以将任何UI元素放入ScrollView中以使其可滚动。

  2. Orientation - 控制滚动的方向。

    VerticalScrollView 将垂直滚动。 此成员是 Orientation 属性的默认值。
    Horizontal 水平滚动。
    Both 水平和垂直滚动。
    Neither 不会滚动。
  3. HorizontalScrollBarVisibility(水平)VerticalScrollBarVisibility(垂直) - 控制滚动条的可见性,可设为Auto、Always(滚动条可见)、Never(滚动条不可见)。

  4. ScrollToAsync 方法 - 异步滚动到指定位置。你可以指定滚动到的X和Y坐标,以及是否动画滚动。

  5. ContentSize - 设置滚动视图内容区域的大小,这决定了滚动的范围。需要确保ContentSize大于ScrollView本身的大小才能看到滚动效果。

  6. InputTransparent - 控制ScrollView是否拦截输入。如果设置为true,则触摸事件会穿透ScrollView传递给下面的视图。

  7. MarginPadding - 控制滚动视图与其容器之间以及内容与滚动视图边缘之间的空白空间。

ScrollView 作为根布局

StackLayout 通常是 ScrollView 的子项。 在这种情况下,ScrollView 会使 StackLayout 与其子项的高度之和一样高。 然后,ScrollView 可以确定其内容可以滚动的量。

ScrollView 作为子布局

ScrollView 通常是 Grid 的子项。 ScrollView 需要特定的高度来计算其内容高度与其自身高度之间的差异,该差异是 ScrollView 可以滚动其内容的量。 当 ScrollView 是 Grid 的子项时,它不会获得特定的高度。 Grid 希望 ScrollView 尽可能短,即 ScrollView 内容的高度或零。 要处理这种情况,包含 ScrollView 的 Grid 行的 RowDefinition 应设置为 *。 这会使 Grid 为 ScrollView 提供其他子项不需要的所有额外空间,并且 ScrollView 将具有特定的高度。

检测滚动

<ScrollView Scrolled="OnScrollViewScrolled">
    ...
</ScrollView>
void OnScrollViewScrolled(object sender, ScrolledEventArgs e)
{
    Console.WriteLine($"ScrollX: {e.ScrollX}, ScrollY: {e.ScrollY}");
}

将元素滚动到视图中

await scrollView.ScrollToAsync(label, ScrollToPosition.End, true);
await scrollView.ScrollToAsync(0, 150, true);

qq群 186809679 NET MAUI技术交流群

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值