首页 文章

堆叠中的图像或xamarin形式的相对布局

提问于
浏览
1

我在PCL项目的Assets文件夹中有一个图像列表,所有这些图像都是嵌入式资源,我可以在不使用xaml的情况下获取这些图像并在ContentPage派生类中正常显示,但是,我需要将这些图像重叠如下例所示:

我如何定位这些图像如图所示?有人可以帮我吗? Iam在Xamarin Froms c#中完全是noob

提前致谢!

1 回答

  • 2

    您提到“不使用XAML”我理解您正在使用C#(代码隐藏)来加载和显示您的图像 .

    在图像上进行重叠的最简单方法是使所有图像成为 StackLayout 的子图像,并在 StackLayout 中设置负间距 .

    private void LoadSomeImages()
    {
        stackImages.Children.Clear();
        stackImages.Spacing = -25;
        stackImages.Orientation = StackOrientation.Horizontal;
    
        for (int i = 0; i < 4; i++)
        {
            var image = new Image
            {
                WidthRequest = 60,
                HeightRequest = 59
            };
    
            image.Source = ImageSource.FromResource("SWOverlappedImages.reactivex.png");
            stackImages.Children.Add(image);
        }
    }
    

    存在

    stackImages 将持有图像的 StackLayout .

    reactivex.png 资源中的图像名称 .

    负面的 Spacing 将告诉你想要多少重叠 . 另外,请记住 SpacingImage Width 是高度相关的 .

    在上面的示例中,通过在-25上设置间距,我几乎与图像的一半重叠 .

    此外,如果所有图像共享相同的大小,或至少相同的 Width ,上述工作将正常工作 .

    希望这可以帮助 . -

相关问题