【问题标题】:how add icon in toolbarItem in xamarin?如何在 xamarin 的工具栏项中添加图标?
【发布时间】:2019-10-10 07:23:07
【问题描述】:

我的 xamarin android 项目在资源下没有 Drawawble 文件夹,我正在尝试为共享项目中的工具栏项设置图标。如果我将图像设置为嵌入式资源,我应该能够从共享项目中访问它,我错了

<?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>

【问题讨论】:

  • 你必须把drawable放到android项目中才能显示图标。
  • 假设“baseline_home_blue_48.png”是 android mipmap 文件夹结构中的黑白图像,请尝试从 xamarin.forms 图标值中删除“@mipmap/”。
  • 在你的android项目中创建一个文件夹Drawable。这是 IDE 的现有问题。

标签: xamarin xamarin.forms xamarin.android


【解决方案1】:

您还需要创建文件夹资源和 Drawable 以添加图像。 Link

<ContentPage.ToolbarItems>
    <ToolbarItem Text="Logout" Clicked="OnLogoutButtonClicked" Order="Primary"  Priority="0"/>
    <ToolbarItem Text="Home" Icon="baselinehomeblue48.png" Clicked="OnHomeIconClicked" Order="Primary" Priority="1"/>
</ContentPage.ToolbarItems>

【讨论】:

    【解决方案2】:
    Here is xaml based code *<ToolbarItem Name="iconexample" Icon="icon.png" Priority="0" Order="Primary" Activated="Onclick" />* 
    

    和基于 C# 的代码 new ToolbarItem () { Icon = "icon.png"}

    【讨论】: