首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StackLayout inside

StackLayout inside
EN

Stack Overflow用户
提问于 2017-07-05 20:59:29
回答 1查看 2K关注 0票数 1

我对Xamarin表单很陌生,我只能尝试让StackLayout在AbsoluteLayout中工作。在我的StackLayout中有两个孩子:一个图像(300x300随机图像)和一个标签。我将举一个例子来说明我的问题。

下面的代码对我来说很好(我使用的是300x300映像):

代码语言:javascript
复制
public class TestedPage : ContentPage
{
    public TestPage()
    {
    BackgroundColor = Color.Brown;
    StackLayout stl = new StackLayout();
    AbsoluteLayout ab = new AbsoluteLayout();

    Image img = new Image();
    img.Source = ImageSource.FromFile("circle.png");

    Label lbl = new Label
    {
        Text = "#Text1000",
        TextColor = Color.White,
        FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)),
        HorizontalOptions = LayoutOptions.Center
    };

    stl.Children.Add(img);
    stl.Children.Add(lbl);

    ab.Children.Add(stl);

    Content = ab;
    }
}

问题是,上面的代码只会在没有定位的情况下将'stl‘抛入其中,这对我来说很重要,因为我需要它准确地定位到我想要的位置。所以,您可能会问:“为什么不为Children.Add()使用更多的参数?",好吧,ab.Children.Add(stl, new Rectangle(0,0,450,450));不会正确地定位'stl‘,至少在上面的代码中,它将位于屏幕的开头,在中间一点,在右边,而不是原点(0,0)。另外,奇怪的是,我调试并发现,堆栈,图像和绝对都有不同的高度和宽度。上面的代码给了我450,450表示'stl‘(这很好);616,360表示'ab';150,450表示'img’。

我在这里有什么遗漏吗?这让我有点困惑,因为我让它开始工作了,但它有点“but”,没有像我预期的那样表现。因为我对Xamarin表格没有经验,所以我认为我错过了一些重要的东西,这就是为什么我希望你们能给我一些线索。

有什么想法吗?

任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-07-05 22:54:25

你可以试试:

代码语言:javascript
复制
AbsoluteLayout.SetLayoutFlags(stl, AbsoluteLayoutFlags.All);

AbsoluteLayout.SetLayoutBounds(stl, new Rectangle(0f, 0f, 1f, 1f));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44935887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档