如何将 Material 设计标准图标导入 Visual Studio Xamarin 项目

How to import Material Design Standard Icons into a Visual Studio Xamarin Project

我们开发了一个基于旧 Holo.Light 主题的 Android 应用程序,该主题使用库版本 2013/11/06 中的 Android 标准图标。对于图标的使用,我总是将我需要的图标从标准库手动复制到我的 Visual Studio/Xamarin 文件夹中:

/drawable-hdpi

/drawable-mdpi

/drawable-xhdpi

/drawable-xxhdpi

现在我已将默认主题更改为 Android Material 设计,我还想将旧图标与 https://github.com/google/material-design-icons/ 中的图标交换 我的计划只是将我需要的新 material 设计图标从新的标准库复制到我的项目文件夹以交换旧的。好的,相似的图标名称不同,但是可以找到合适的图标。

但在新的 material-design-icons 库中,我现在在每个文件夹中都有,每个图标都有一组不同的大小。在旧版本中,我总是每个文件夹只有一个,例如对于 material 设计图标 ic_edit_black_xx 我现在在每个库文件夹中都有...

/drawable-mdpi/

/drawable-hdpi/

现在还有图标名称的大小部分。

那么现在流程怎么样了?

1.) 我是否总是需要将所有四种图标大小复制到每个文件夹? (对我来说没有意义)

2.) 带有大小的扩展名会保留,还是我必须删除它?还是 Android 需要尺寸选择的扩展? 如果我想引用此图标,我必须在我的 c# 代码和 xml 代码中实现什么?刚刚 "ic_edit_black" ??

我在网上找不到告诉我应该如何使用 Visual Studio/Xamarin 处理该问题的信息。

如果有人可以向我解释或发给我一个好的 link 来解释就太好了。

提前致谢并致以最诚挚的问候

马克

1.) 我是否总是需要将所有四种图标大小复制到每个文件夹? (对我来说没有意义)

这只是一个缩放比例(即 18、24、36、48)以支持基于 dpi 的 smaller/larger 屏幕。对于 toolbar/notification 图标,大多数人只需使用 24dp,而对于按钮等其他项目上的图标,则只需使用 36dp。否则,您可以通过以下值计算出这些值:

ldpi = 0.75 - 18x18

mdpi = 1.0 - 24x24(基线)

hdpi = 1.5 - 36x36

xhdpi = 2.0 - 48x48

xxhdpi = 3.0

xxxhdpi = 4.0

直接回答问题,答案是No you don't。您可以选择所需的相应尺寸。然而,为不同尺寸的设备保留这些是个好主意。

2.) 带有大小的扩展名会保留,还是我必须删除它?还是 Android 需要尺寸选择的扩展?如果我想引用此图标,我必须在我的 c# 代码和 xml 代码中实现什么?就 "ic_edit_black" ??

我会将尺寸保留在您的图标名称中,以便您可以在整个应用程序中将其用于不同目的(例如显示尺寸)。 Android 已经通过显示桶检查要使用的正确 dpi 级别。

https://developer.android.com/training/multiscreen/screensizes.html

您需要指定项目中显示的确切资源名称。如果您在名称中保留尺寸扩展名,请使用它。如果您决定每个图标只需要 1 个尺寸,您可以重命名它(使用基线)。

https://developer.android.com/training/multiscreen/screendensities.html

你好试试this amazing extension

This plugin helps you to add material design icons to your Android, iOS or UWP project

Features

  • Add icons from google public icons repo
  • Support for Xamarin.Android project
  • Support for Xamarin.iOS project
  • Support for UWP project

祝你好运!