首页 文章

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

提问于
浏览
0

使用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

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

    将图像放入

    • Android - / Resources / drawable

    • iOS - /资源或作为资产

    • UWP - 根项目文件夹

    然后你只需要通过名称header_background.png引用它 .

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

  • 0

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

相关问题