我在PCL项目的Assets文件夹中有一个图像列表,所有这些图像都是嵌入式资源,我可以在不使用xaml的情况下获取这些图像并在ContentPage派生类中正常显示,但是,我需要将这些图像重叠如下例所示:
我如何定位这些图像如图所示?有人可以帮我吗? Iam在Xamarin Froms c#中完全是noob
提前致谢!
您提到“不使用XAML”我理解您正在使用C#(代码隐藏)来加载和显示您的图像 .
在图像上进行重叠的最简单方法是使所有图像成为 StackLayout 的子图像,并在 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 .
stackImages
reactivex.png 资源中的图像名称 .
reactivex.png
负面的 Spacing 将告诉你想要多少重叠 . 另外,请记住 Spacing 和 Image Width 是高度相关的 .
Spacing
Image
Width
在上面的示例中,通过在-25上设置间距,我几乎与图像的一半重叠 .
此外,如果所有图像共享相同的大小,或至少相同的 Width ,上述工作将正常工作 .
希望这可以帮助 . -
1 回答
您提到“不使用XAML”我理解您正在使用C#(代码隐藏)来加载和显示您的图像 .
在图像上进行重叠的最简单方法是使所有图像成为
StackLayout
的子图像,并在StackLayout
中设置负间距 .存在
stackImages
将持有图像的StackLayout
.reactivex.png
资源中的图像名称 .负面的
Spacing
将告诉你想要多少重叠 . 另外,请记住Spacing
和Image
Width
是高度相关的 .在上面的示例中,通过在-25上设置间距,我几乎与图像的一半重叠 .
此外,如果所有图像共享相同的大小,或至少相同的
Width
,上述工作将正常工作 .希望这可以帮助 . -