如何在Xamarin Forms中为工具栏项设置图标

8

我的Xamarin Android项目在Resources下没有Drawable文件夹,我有mipmap文件夹。我正在尝试为共享项目中的工具栏项设置图标。如果我将图像设置为嵌入资源,则应该能够从共享项目中访问它,我错了吗?

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
x:Class="BoringAppUi.MainPage" Title="Main Page">
    <ContentPage.ToolbarItems>
        <ToolbarItem Text="Logout" Clicked="OnLogoutButtonClicked" Order="Primary"  Priority="0"/>
        <ToolbarItem Text="Home" Icon="@mipmap/baseline_home_blue_48.png" Clicked="OnHomeIconClicked" Order="Primary" Priority="1"/>
    </ContentPage.ToolbarItems>
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Main app content goes here" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

我也尝试过从后台代码中进行设置。

var toolbarItemHome = new ToolbarItem
{
    Text = "Home",
    Icon = "@mipmap/baseline_home_blue_48.png"
};
toolbarItemHome.Clicked += OnHomeIconClicked;
ToolbarItems.Add(toolbarItemHome);

还在寻找答案吗? - FreakyAli
1个回答

10

从C#代码:

new ToolbarItem () { Icon = "icon.png"}

或从 XAML 中:

<ToolbarItem Name="iconexample" Icon="icon.png" Priority="0" Order="Primary" Activated="Onclick" />  

注意以下内容:

iOS - 将图像放置在/mipmap/icon.png

Android - 将图像放置在/mipmap/drawable/icon.png


我在“资源”文件夹下没有“drawable”文件夹,VS 2017 Xamarin Android项目创建工具只创建了“mipmap”文件夹。 - 3not3
2
据我所知,您应该只将应用程序图标放在MipMap中,因为MipMap会根据设备当前的密度自动调整分辨率。 因此,除了启动器图标或其他应用程序图标外,您应该将它们放在Drawable中。 如果您没有这些文件夹,可以创建一个。 - N Subedi
1
我正在阅读微软的这篇文档,如果你查看第二条评论...自从写作以来默认资源的名称已经发生了变化,因此这个主题已经过时了.... - 3not3
我想指出的是,为了使其在Android中正常工作,您必须将照片的“Build Action”设置为“AndroidResource”。 - CraftedGaming
似乎从后台代码无法正常工作。 - c-sharp-and-swiftui-devni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接