【问题标题】:Location of images for Xamarin Forms projectsXamarin Forms 项目的图像位置
【发布时间】:2018-05-01 06:48:48
【问题描述】:

我有一个 Xamarin Forms 项目 - 包含用于 UWP、iOS 和 Android 的 3 个项目。 现在我想在我的 Xamarin 页面中使用图像。按照 Xamarin 的意图,我想对所有三个目标使用相同的代码......例如:

<Image Source="Assets/appIcon-256.png"/>

这适用于 iOS 和 UWP - 两者都有我放置图像的文件夹“资产”。好的,我必须维护图像两次,但两个项目的 XAML 代码相同。

但对于 Android,这似乎行不通。如果我将 png 放在 Anroid 项目的 Assets 文件夹中,图像不会在 Android 中显示。

如何为所有三个项目的所有图像使用相同的位置?

【问题讨论】:

标签: c# xamarin xamarin.ios xamarin.forms xamarin.android


【解决方案1】:

这很容易。

IOS => 您需要将图像放在“资源”上(注意:没有更多路线),对于 ANDROID => 您需要将图像放在“资源/可绘制”上。对于 UWP => 将图像放在根项目 UWP .

在不同的平台上,图像有不同的路线。

然后你可以在 xaml 文件上放&lt;Image Source="imageName.jpg" /&gt;

请发送反馈。

更新

您可以将图像放在 UWP/Assets 上,然后:

<ToolbarItem
        Text="Search">
        <ToolbarItem.Icon>
            <OnPlatform x:TypeArguments="FileImageSource">
                <On Platform="Android, iOS" Value="movies-search.png"/>
                <On Platform="UWP" Value="Assets/movies-search.png"/>
            </OnPlatform>
        </ToolbarItem.Icon>
    </ToolbarItem>

【讨论】:

  • 听起来不错......但是对于大约几十张图像,它在 UWP 项目的根文件夹中看起来很乱(与那里的 cs 和 xaml 文件混合)。
  • 是的,这是真的,但我还没有找到解决方案。
  • 康拉德你可以把图像放在 UWP/Assets 上,然后你可以试试这个:&lt;ToolbarItem Text="Search"&gt; &lt;ToolbarItem.Icon&gt; &lt;OnPlatform x:TypeArguments="FileImageSource"&gt; &lt;On Platform="Android, iOS" Value="movies-search.png"/&gt; &lt;On Platform="UWP" Value="Assets/movies-search.png"/&gt; &lt;/OnPlatform&gt; &lt;/ToolbarItem.Icon&gt; &lt;/ToolbarItem&gt;
  • 谢谢,Miguel ... 使用平台交换机暂时解决了这个问题。
  • 但我也发现了一些奇怪的东西:......使用带有“资产”的&lt;Image Source="Assets/y.png" /&gt;......如果图像位于真正的“资产”文件夹中,则可以在 iOS/UWP 中找到它。 ..对于Android来说,如果它位于“Resources/drawable”下就足够了......
【解决方案2】:

为什么路径以“Assets/”开头?对于 Android 将您的图像放置到 MyProject.Android/Resources/drawable。对于 iOS myProject.iOS/Resources/ 并在 xaml 中

<Image Source="appIcon-256.png"/>

它会起作用的。 另外对于iOS,如果你有不同尺寸的相同图片,你应该将它们重命名为“appIcon-256.png”“appIcon-256@2x.png”“appIcon-256@3x.png”

【讨论】:

    【解决方案3】:

    用下划线替换破折号。例如,ic_launcher_calendar.png

    同时尝试删除名称末尾的数字。

    最后,您可以查看 drawable 的命名约定。 http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/

    让我知道它是否有效。

    【讨论】:

      猜你喜欢
      • 2016-01-23
      • 2014-10-07
      • 2023-03-22
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多