如何将 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/
- 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 处理该问题的信息。
如果有人可以向我解释或发给我一个好的 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 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
祝你好运!
我们开发了一个基于旧 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/
- 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 处理该问题的信息。
如果有人可以向我解释或发给我一个好的 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 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
祝你好运!