c# - Xamarin Forms 项目的图像位置

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

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

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

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

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

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

最佳答案

这很容易。

IOS => 你需要把图片放在“Resources”(注意:没有更多的路由),对于 ANDROID => 你需要把图片放在“Resources/drawable”。对于 UWP => 把图片放在根项目 UWP .

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

然后在 xaml 文件中你可以输入 <Image Source="imageName.jpg" />

请发送反馈。

更新

您可以将图像放在 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>

关于c# - Xamarin Forms 项目的图像位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47351553/

相关文章:

c# - BinaryFormatter.Deserialize HeaderHandler 捕获返回值

c# - 使用 SmtpClient 发送邮件时出现 "The server committed a protocol violation"故障排除

xamarin - 在 Xamarin Studio 中找不到类型或命名空间名称 'Page'

c# - 如何使用 Monotouch Professional 许可证在 iPad 上部署应用程序

c# - 抽象方法覆盖抽象方法

c# - Xamarin.Forms 绑定(bind) - 隐式类型转换是否在代码中完成,而不是在 XAML 中完成?

android - 在 Android 上的 Xamarin Studio 上使用 AdMob,Google Play 服务不存在

c# - 使用文件流创建新文件时访问被拒绝 - Xamarin IOS

silverlight - 是否有 Silverlight/wp7 的 MonoTouch.Dialog 端口?

c# - react 性扩展 : matching complex key press sequence