来自文件或资源的Xamarin本地映像

时间:2016-09-07 17:53:01

标签: c# android xamarin

我无法让我的图片显示在Android中。我尝试过使用ImageSource.FromFile和ImageSource.FromResource。

我已经多次阅读“使用图像”而只是看不出我做错了什么。

来自文件示例

        var myImage = new Image() {
            Aspect = Aspect.AspectFill,
            Source = ImageSource.FromFile("backdrop.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; }));

        Content = layout; 

enter image description here

Build Action设置为:AndroidResource

我总是使用此路径获取NullReference异常

enter image description here

FromResource示例

        var myImage = new Image()
        {
            Aspect = Aspect.AspectFill,
            Source = ImageSource.FromResource("TTMD_Mobile.Droid.backdrop.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; }));

        Content = layout;

Build Action设置为:Embedded Resource

使用FromResource我没有任何异常,只是图像没有显示。

我对Xamarin和Android开发相当新,如果已经解决了,我很抱歉,我找不到可行的解决方案。

编辑:我不相信这是一个重复的问题,我相信我的图像在正确的位置。

1 个答案:

答案 0 :(得分:1)

在Xamarin表单项目中创建images文件夹,然后将Image添加到该文件夹​​。 在图片的属性中,将“生成操作”设置为“嵌入资源”

例如:我的项目名称是XTest。 图像路径为:XTest / images / pic.jpg

Solution explorer showing path

在您的cs文件中,您现在可以像这样使用它。

    imgLocal.Source = ImageSource.FromResource("XTest.images.pic.jpg");