xamarin网格中的滚动条

时间:2017-02-21 19:44:26

标签: c# xamarin

我的代码是:

    ScrollContainer.Content = grid;
    Content = ScrollContainer;
    Content.HorizontalOptions = LayoutOptions.Center;

screen 1 i have

我想在右侧有滚动条:

screen i want

我尝试将Content.HorizontalOptions设置为LayoutOptions.CenterAndExpand,但它对我没有帮助(结果如屏幕1)。另外我尝试设置Content.HorizontalOptions,因为LayoutOptions.FillAndExpand:滚动条没问题,但网格不在中心,grid.HorizontalOptions = LayoutOptions.Center没有帮助我

3 个答案:

答案 0 :(得分:1)

Padding应用于ScrollContainer,以便滚动条在结束与网格之间有一定距离。

答案 1 :(得分:0)

目前的布局看起来不太清楚,但我会即兴发挥。

您可以通过100种不同的方式实现所需的布局。每次制作ScrollView时,您还应该考虑界面的可用性 - 小屏幕,触摸屏,缩小窗口......如果可能的话 - 避免使用它。特别是如果内容是静态的,Grid提示。

如果您需要滚动视图,并且您希望滚动内容可以作为UX的正常部分滚动,那么您应该考虑使用ListView或其他动态布局

这里有伪XAML中的几个选项:

<ScrollView HorizontalOptions="FillAndExpand">
  <Grid HorizontalOptions="Start"> <!-- this should move the Grid in the left part of the Scroll
    <Grid.Columns>
      <Column Width="100"/>
      <Column Width="100"/>
      <Column Width="100"/>
    </Grid.Columns>



<ScrollView HorizontalOptions="FillAndExpand">
  <Grid>
    <Grid.Columns>
      <Column Width="100"/>
      <Column Width="100"/>
      <Column Width="100"/>
      <Column Width="*"/> <!-- one extra column with Width to take the remaining space-->
   ...

答案 2 :(得分:-1)

之后在stacklayout中设置网格 将填充设置为结束与网格之间的距离。

StackLayout Scroller = new StackLayout { 
            Padding = new Thickness(10, 0, 10, 0),
            Orientation = StackOrientation.Horizontal,
            Spacing = 375 / 100 + 10,
        };

        ScrollView Scroll = new ScrollView { 
            Orientation = ScrollOrientation.Horizontal,
        };

        Scroll.Content = Scroller;