【问题标题】:Control the height of an image in a scrollview控制滚动视图中图像的高度
【发布时间】:2019-05-26 22:47:52
【问题描述】:

我想在我的应用程序中实现显示在底部的布局。 我通过使用以下结构得到了它的工作原理

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

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

我尝试过的事情:

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

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

蓝线 = 滚动视图

黑线 = 视图

红线 = 图片

【问题讨论】:

  • 要走的路是'为 Grid.Row 的高度设置一个硬值。这会剪辑全尺寸图像。但是不知道为什么当您设置 AspectRatio = AspectFit 时它会为您剪辑它。是的,并尝试为您的图像使用 ffimageloading。

标签: xaml xamarin layout xamarin.forms


【解决方案1】:

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

旧情况:

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

新情况:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 2014-06-17
    • 2018-01-11
    • 2016-03-30
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    相关资源
    最近更新 更多