首页 文章

Xamarin Forms项目的图像位置

提问于
浏览
0

我有一个Xamarin Forms项目 - 包含UWP,iOS和Android的3个项目 . 现在我想在我的Xamarin页面中使用图像 . 正如Xamarin所预期的那样,我想对所有三个目标使用相同的代码......例如:

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

这适用于iOS和UWP - 两者都有一个文件夹“Assets”,我放置了图像 . 好的,我要维护图像两次,但我对这两个项目都有相同的XAML代码 .

但对于Android,这似乎不起作用 . 如果我将png放在Anroid项目的Assets文件夹中,则图像不会显示在Android中 .

对于所有三个项目,我可以为所有图像使用相同的位置做什么?

3 回答

  • 1

    这很容易 .

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

    在Diferents平台上,图像具有不同的路线 .

    然后在xaml文件上你可以放 <Image Source="imageName.jpg" />

    请发送反馈 .

    UPDATE

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

    为什么路径以“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”

  • 1

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

    还要尝试删除名称末尾的数字 .

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

    如果有效,请告诉我 .

相关问题