【问题标题】:Carousel view on portraitl and landscape orientation纵向和横向的轮播视图
【发布时间】:2021-02-13 12:39:13
【问题描述】:

我正在使用轮播视图来显示图像。如果我的设备是纵向的,那么一切都很好,但是一旦我更改为横向,当前图片就会被剪掉一点,但是一旦我滑动到下一张图片,它就会重新计算并且一切正常。 / 使用 iOS

页面后面

 protected override void OnSizeAllocated(double width, double height)
        {
            base.OnSizeAllocated(width, height);
            if (width != this.width || height != this.height)
            {
                this.width = width;
                this.height = height;
                if (width > height)
                {
                   
                    carousel.HorizontalOptions = LayoutOptions.CenterAndExpand;
                    carousel.VerticalOptions = LayoutOptions.CenterAndExpand;
                    outerStack.HeightRequest = 1700;
                   
               
                }
                else
                {
                    carousel.HorizontalOptions = LayoutOptions.CenterAndExpand;
                    carousel.VerticalOptions = LayoutOptions.CenterAndExpand;
                    outerStack.HeightRequest = 800;
                }
            }
        }

你能告诉我我做错了什么吗?

【问题讨论】:

  • 这真的没有帮助,加上视觉状态触发器不起作用,我已经尝试过它在示例中不是 git hub 但颜色没有改变,但感谢您采取时间
  • 有些东西丢失了,因为我在发布答案之前进行了测试并且它正在工作,您是否启用了自动旋转?我的意思是该示例是针对尚未在 CarouselView 上测试的 Grid
  • 您能否提供一两个屏幕截图来说明问题?您想在OnSizeAllocated 中实现什么目标?
  • 当我每次转动设备时都会调用大小。这行得通,我在我的问题中试图解释的是,有时会剪切图片,直到滚动到下一张图片。我已经用您发布的答案进行了尝试,然后从 GitHub 不幸地我无法使其工作。我只在模拟器和 iOS 上尝试过

标签: xamarin.forms


【解决方案1】:

似乎是带有 CarouselView 的 open issue

有评论in there by nate123456

我在 iOS 中也遇到了这个问题。似乎将 CarouselView 设置为 ContentPage.Content 是我能够找到的唯一一种实际使 CarouselView 在发生旋转时能够正确调整的场景。

最终我们决定只删除指示器视图,因为无论如何这在 iOS 上都存在问题。毕竟它仍然是实验性的。

希望这会有所帮助!如果这个问题得到解决,请有人更新我们所有人:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-07
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    相关资源
    最近更新 更多