我在堆栈布局中无法在内容页面上显示图像。我查看了Xamarin API文档,发现了Xamarin.Forms.Image.Source属性,但是没有示例代码来查看其编写方式。我还检查了它是如何用C#编写的,并且似乎在文件名路径方面与我的代码匹配,但是在Xamarin中,由于这是第一次,因此可能略有不同。我目前正在通过Visual Studio 2013中的Android模拟器(Google Nexus 5)测试的代码,该代码可以正常运行,但图像未显示。
图片来源:
new Image
{
VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.Center,
Source = "/Assets/xamarin_logo.png",
},
完整代码:
public NFCPage()
{
StackLayout stackLayout = new StackLayout // instantiate a StackLayout object to layout its children
{
Spacing = 5, // amount of spae between each child element
//HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.FillAndExpand, // defines how the elements should be laid out; fill the entire width of the content to the screen
BackgroundColor = Color.Blue,
Children = // gets a list of child elements
{
new Label
{
TextColor = Color.White,
BackgroundColor = Color.Red,
XAlign = TextAlignment.Center, // set text alignment horizontally
Text = "Google",
},
new Label
{
Text = "Place your device directly at the symbol.",
XAlign = TextAlignment.Center,
TextColor = Color.White,
},
new Image
{
VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.Center,
Source = "/Assets/xamarin_logo.png",
},
new Button
{
Text = "QR Code",
TextColor = Color.White,
},
new Button
{
Text = "?",
TextColor = Color.White,
},
}
};
Content = stackLayout; // apply stackLayout to Content
}
您不应引用该路径,因为source属性是跨平台的,并且由于每个平台都有一个用于存储资产(如图像)的文件夹,因此您只需要指定文件名和扩展名即可。Image类知道在哪里可以找到文件。
图像文件可以添加到每个应用程序项目中,并可以从Xamarin.Forms共享代码中引用。要在所有应用程序中使用单个图像,必须在每个平台上使用相同的文件名,并且该文件名应为有效的Android资源名称(表示没有空格和特殊字符)。使用Build Action:AndroidResource将图像放置在Resources / drawable目录中。也可以提供图像的高DPI和低DPI版本(在适当命名的Resources子目录中,例如drawable-ldpi,drawable-hdpi和drawable-xhdpi)。
var beachImage = new Image { Aspect = Aspect.AspectFit };
beachImage.Source = ImageSource.FromFile("waterfront.jpg");
来源: https : //developer.xamarin.com/guides/xamarin-forms/working-with/images/#Local_Images
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句