如何在 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?
如何在mfc中设置大小和透明/清除CMFCToolBar按钮和图标?