如何在 Xamarin 表单中设置工具栏项的图标

Posted

技术标签:

【中文标题】如何在 Xamarin 表单中设置工具栏项的图标【英文标题】:how to set icon for Toolbar Item in Xamarin forms 【发布时间】:2018-08-14 14:31:46 【问题描述】:

我的 xamarin andorid 项目在 Resources 下没有 Drawawble 文件夹,而我有 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);

【问题讨论】:

还在寻找答案? 【参考方案1】:

来自 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

【讨论】:

Resources下没有drawable文件夹,VS 2017 xamarin android项目创建工具只创建了mipmap文件夹 据我所知,您应该只将 App Icons 放在 MipMap 中,因为 MipMap 会根据设备的当前密度自动调整分辨率。因此,除了 Launcher Icons 或其他应用程序图标之外,您应该将它们放在 Drawable 中。如果您没有这些文件夹,您可以创建一个。 我正在阅读微软的 this 文档,如果您查看第二条评论 ...this topic has become outdated because the names of the default resources have changed since it was written.... 我想指出,您必须将照片的 Build Action 设置为 AndroidResource 才能在 Android 中使用

以上是关于如何在 Xamarin 表单中设置工具栏项的图标的主要内容,如果未能解决你的问题,请参考以下文章

从自定义列表 Xamarin 中设置所选列表视图项的背景颜色

如何在 Xamarin Forms 中以适当的图像比例在 UWP 中设置 SpashScreen?

如何在 iPhone x 中设置安全区域布局

如何在mfc中设置大小和透明/清除CMFCToolBar按钮和图标?

如何在 Visual Studio 2017 中设置表单控件的工具提示属性

Xamarin 表单集合视图 ItemsSource 绑定未更新 UI