Xamarin表格网格没有在图像顶部放置标签

时间:2017-05-13 03:45:59

标签: xaml xamarin xamarin.forms

我正在尝试使用网格将文本放在图像上。但是,由于某些奇怪的原因,Xamarin似乎将标签置于图像上方。

try {
db.products.insert(
        [{ imagename: "pen", qty: 21 },
         { imagename: "pen", qty: 20 },
         { imagename: "eraser", qty: 25 }],
        { ordered: false }
    )
}catch(e){
print(e)
}

这是一张正在发生的事情的图片: enter image description here

我想把文字放在它下面的黑色横幅里面。我做错了什么?

2 个答案:

答案 0 :(得分:0)

在这种情况下,GridView不适合使用的布局类型 您应该使用RelativeLayout代替。
以下是Xamarin Forum的一个很好的例子:

public static Page GetMainPage ()
{   
    var myLabel = new Label () {
        Text = "Hello World",
        Font = Font.SystemFontOfSize (20),
        TextColor = Color.White,
        XAlign = TextAlignment.Center,
        YAlign = TextAlignment.Center
    };

    var myImage = new Image () {
        Source = FileImageSource.FromUri (
            new Uri("http://xamarin.com/content/images/pages/index/hero-slide.jpg"))
    };

    RelativeLayout layout = new RelativeLayout ();

    layout.Children.Add (myImage, 
        Constraint.Constant (0), 
        Constraint.Constant (0),
        Constraint.RelativeToParent ((parent) => { return parent.Width; }),
        Constraint.RelativeToParent ((parent) => { return parent.Height; }));

    layout.Children.Add (myLabel, 
        Constraint.Constant (0), 
        Constraint.Constant (0),
        Constraint.RelativeToParent ((parent) => { return parent.Width; }),
        Constraint.RelativeToParent ((parent) => { return parent.Height; }));

    return new ContentPage { 
        Content = layout
    };
}

答案 1 :(得分:0)

@EvZ我认为网格布局是正确的......

你可以试试

1-定义RowDefinition 2- set Grid.Row =“0”表示图像和标签

祝你好运