我正在尝试使用网格将文本放在图像上。但是,由于某些奇怪的原因,Xamarin似乎将标签置于图像上方。
try {
db.products.insert(
[{ imagename: "pen", qty: 21 },
{ imagename: "pen", qty: 20 },
{ imagename: "eraser", qty: 25 }],
{ ordered: false }
)
}catch(e){
print(e)
}
我想把文字放在它下面的黑色横幅里面。我做错了什么?
答案 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”表示图像和标签
祝你好运