在滚动视图中控制图像的高度

时间:2018-12-29 13:15:23

标签: xaml xamarin layout xamarin.forms

我想实现应用底部显示的布局。 通过使用以下结构,我可以正常工作

<ScrollView Orientation="Vertical">
  <Grid>
    <ScrollView Orientation="Horizontal">
      <StackLayout>
        <Image>

我目前有一个问题,我想控制图像高度,以便考虑屏幕尺寸或屏幕方向,可以看到2或3行图像。

我尝试过的事情:

  • 在图像上设置HeightRequest。这似乎被忽略了,可能是因为scrollcontainer创建了一个“无限”的画布来进行绘制。图片会放大到实际图片尺寸,该尺寸太大。
  • 为Grid.Row的高度设置一个硬值。这会裁剪完整尺寸的图像。

我在flexgrid的演示中看到了this workaround,他们似乎通过下载动态调整大小的图像来解决了这个问题。但这对我来说似乎不是最终的解决方法。

aspired layout

蓝线=滚动视图

黑线=视图

红线=图片

1 个答案:

答案 0 :(得分:0)

Thx @Nick Kovalsky告诉我它应该那样工作。我只是发现原因似乎是因为我在图像周围使用了StackLayout(包含图像和图像标签)。这是我发布原始问题时遗漏的内容。当我用网格替换此StackLayout时,它按预期工作。

旧情况:

<ScrollView Orientation="Vertical">
  <Grid>
    <ScrollView Orientation="Horizontal">
      <StackLayout Orientation="Vertical">
        <Image>
        <Label>

新情况:

<ScrollView Orientation="Vertical">
  <Grid>
    <ScrollView Orientation="Horizontal">
      <Grid>
        <Image>
        <Label>