Android 和 iOS 中 SVG 的文件放置和构建类型

File placement and Build type for SVG's in Android and iOS

我对 Xamarin.Native SVG 支持的文档有疑问 here:

在示例代码中调用LoadFile:

ImageService.Instance
    .LoadFile("image.svg")
    .
    .

为了使其工作,必须 image.svg 放置在项目中的哪个位置? image.svg(内容、AndroidRersource 等)的构建类型是什么? iOS 的行为是否相同?

我无法正常工作。我将我的 svg 放在构建类型为 AndroidResource.

的 drawable 目录中
Android Project
    |
    |
    -> Resources
        |
        |
        -> drawable
            |
            |
            -> image.svg

ImageService.Instance.LoadFile:用于从磁盘加载文件(仅限完整路径)。

您应该使用 LoadFileFromApplicationBundle(应用程序包),或 LoadCompiledResource(应用程序资源)。

从应用程序包的文件加载图像。

          /// <summary>
          /// Load an image from a file from application bundle.
          /// eg. assets on Android, compiled resource for other platforms
          /// </summary>
          /// <returns>The new TaskParameter.</returns>
          /// <param name="filepath">Path to the file.</param>
          TaskParameter LoadFileFromApplicationBundle(string filepath);

Xamarin.Android

xml:

  <FFImageLoading.Views.ImageViewAsync
    android:id="@+id/imageView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

Assets:带有Build Action的AndroidAsset

主要活动:

 var imageView = FindViewById<ImageView>(Resource.Id.imageView);
        var filePath = "sample2.svg";
        ImageService.Instance.LoadFileFromApplicationBundle(filePath).WithCustomDataResolver(new SvgDataResolver(64, 0, true)).Into(imageView);

从应用程序资源的文件中加载图像。使用 drawable 文件夹中的资源名称,不带扩展名。

          /// <summary>
          /// Load an image from a file from application resource.
          /// </summary>
          /// <returns>The new TaskParameter.</returns>
          /// <param name="resourceName">Name of the resource in drawable folder without extension</param>
          TaskParameter LoadCompiledResource(string resourceName);

Xamarin.Android

xml:

 <FFImageLoading.Views.ImageViewAsync
    android:id="@+id/imageView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/> 

Drawable资源:与BuildAction的AndroidResource

主要活动:

var filePath = "sample";

ImageService.Instance.LoadCompiledResource(filePath).WithCustomDataResolver(new SvgDataResolver(64, 0, true)).Into(imageView);

在你提供的link中,也给出了从Xamarin.Forms上嵌入资源加载的方式,你可以查看一下。 https://github.com/luberda-molinet/FFImageLoading/wiki/SVG-support#xamarinandroid