android - 如何将 Material Design 标准图标导入 Visual Studio Xamarin 项目

标签 android xamarin visual-studio-2015 material-design android-icons

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

/drawable-hdpi

/drawable-mdpi

/drawable-xhdpi

/drawable-xxhdpi

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

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

/drawable-mdpi/

  • ic_edit_black_18dp.png
  • ic_edit_black_24dp.png
  • ic_edit_black_36dp.png
  • ic_edit_black_48dp.png

/drawable-hdpi/

  • ic_edit_black_18dp.png
  • ic_edit_black_24dp.png
  • ic_edit_black_36dp.png
  • ic_edit_black_48dp.png

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

那么现在流程怎么样了?

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

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

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

如果有人可以向我解释或向我发送一个很好的解释链接,那就太好了。

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

马克

最佳答案

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

这只是一个缩放比例(即 18、24、36、48),以支持基于 dpi 的较小/较大屏幕。大多数人可以只使用 24dp 的工具栏/通知图标和 36dp 的其他项目(如按钮)图标。否则,您可以通过以下值计算出这些值:

ldpi = 0.75 - 18x18

mdpi = 1.0 - 24x24(基线)

hdpi = 1.5 - 36x36

xhdpi = 2.0 - 48x48

xxhdpi = 3.0

xxxhdpi = 4.0

直接回答问题,答案是否定的。您可以选择所需的相应尺寸。但是,最好为不同尺寸的设备保留它们。

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

关于android - 如何将 Material Design 标准图标导入 Visual Studio Xamarin 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37679810/

相关文章:

nuget - "Nearest-Wins"依赖解析和向后兼容性

visual-studio-2015 - 如何在Visual Basic 2015中捕获异常而不是VB.NET

c# - Xamarin Studio : Cannot copy System. Diagnostics.Tools.dll,因为源文件不存在

java - 如何比较文本文件中的 gps 坐标以查看哪对最接近用户的当前位置

ios - Xamarin iOS 导航栏 100% 透明

c# - Xamarin Studio 未启动 iOS 项目。错误 MT1108 : Could not find developer tools for this 10. 0.2 设备

android - Visual Studio Android 模拟器在创建虚拟机时卡住

visual-studio - 无法安装 microsoft.netcore.hostpath 2019

javascript - 如何从 Phonegap 创建 Android 通知?

android - 如何检查 Firebase 中的现有数据?