Xamarin形式:使用ffimageloading时的Android图像类型和onplatform的路径

时间:2017-11-04 09:51:06

标签: xamarin.forms ffimageloading

使用Xamarin Forms和NuGet FFImageloading插件,我想在我的XAML代码中指定操作系统特定的图像路径,如下所示:

     <ffimageloading:CachedImage DownsampleToViewSize="False" Aspect="AspectFill">

        <ffimageloading:CachedImage.Source>
           <OnPlatform x:TypeArguments="ImageSource"   
              iOS="MyProject.iOS.Resources.header_background.png" 

   Android="MyProject.Droid.Resources.Drawable.header_background.png" />
        </ffimageloading:CachedImage.Source>

     </ffimageloading:CachedImage>

iOS图像声明为BundleResource,而Android图像声明为AndroidResource。在iOS上,图像正确加载,但对于Android我一直收到此错误:

资源目录名无效:错误APT0000:obj / Debug / res / myproject.droid.resources.drawable.header_background.png(APT0000)(MyProject.Android)

有什么问题?图像的构建类型错误?我不明白。

2 个答案:

答案 0 :(得分:0)

Xamarin.Forms中的图像源基于默认路径,这具有优势,而不是直接文件路径。

将图片放入

  1. Android - / Resources / drawable
  2. iOS - /资源或作为资产
  3. UWP - 根项目文件夹
  4. 然后你只需用名称header_background.png引用它。

    这增加了优势,因为您可以为iOS放置@ 2x或更高的图像,并将图像放在Android中的drawable-hdpi或其他类型的可绘制文件夹中,操作系统将确定最合适的图像。 / p>

答案 1 :(得分:0)

两个平台都有相同的文件名header_background.png。所以设置 Source="header_background.png"属性将在适当的资源中自动从droid和ios项目中读取。