将材料设计图标导入Android项目


Answers:


357

看看Vector Asset Studio

请按照以下步骤启动Vector Asset Studio:

  • 在Android Studio中,打开一个Android应用程序项目。
  • 在项目窗口中,选择Android视图。
  • 右键单击res文件夹,然后选择“新建”>“向量资产”。

打开Vector Asset Studio之后,您可以如下添加材质图标:

  • 选择“材质图标”(通过单击剪贴画:图标)
  • 点击选择
  • 选择材质图标

24
这个答案真棒!您不仅可以选择已经捆绑在Android Studio中的材质设计图标(没有任何其他插件),而且还将获得VectorDrawable和(等待它...): “如果您的最低API级别设置为这些API之一级别,Vector Asset Studio还指示Gradle为可向后兼容生成可绘制矢量的光栅图像”
lenrok258

5
您甚至可以在xml文件中更改颜色,并且在构建过程中将生成新的png(在app / build / generate / res / pngs / debug中)。我喜欢!:-)
lenrok258 '02

2
支持这个答案!如果你的图标没有出现在选择“图标素材”,你可以从这里下载材料图标,如果你选择SVG格式,在矢量资源选择本地SVG文件并生成图标上的XML文件。如果选择PNG格式,请在“路径”->“新图像资产”->“图像”->“路径”中单击鼠标右键:选择大图像(xxxhdpi),并为每种密度生成png。
诺埃

11
从Android Studio 2.2预览版5开始,Vector Asset Studio中不再有“选择”按钮,但是必须单击图标的小表示形式(名称下方)。花了我一段时间才能弄清楚……
balu 16/08/18

2
最近的vector asset studio具有剪贴画类型而不是素材图标,请单击下面的android图标以选择您的图标
Gigarthan

23

您可以使用适用于android studio的新插件 Android Material Design Icon Generator Plugin 来帮助您使用Google提供的这些Material图标: Google material-design-icons


1
我已经安装了它,但是我该如何使用呢?
gldraphael

1
@gldraphael-安装后,选择“文件”-“新建”-“材料设计图标”。选择大小为48dp,以确保每个生成的文件都具有标准的48、72、96、144和192像素高度/宽度。当然,如果需要,请选择较小的dp尺寸。
马丁·戴维斯

2
@MartynDavis谢谢。我找到了。我最喜欢的是我也可以选择颜色。
gldraphael

15

在文件夹drawable> right click> new> vector asset,然后单击该图标:

Android Studio屏幕截图显示了非显而易见的位置


6

这是一个脚本,用于克隆位于的材料设计图标的github存储库

https://github.com/google/material-design-icons

并创建所有文件的索引。它还按类别将svg文件复制到子目录。您可以以此为基础将感兴趣的文件复制到项目中-只需根据自己的喜好修改find​​和cp copy语句即可。例如,如果您需要某个大小的png-它们位于相邻目录中,则需要相应地修改find​​ and copy命令。

在此处输入图片说明

#!/bin/bash
# WF 2016-06-04
# get google material design icons
# see http://stackoverflow.com/questions/28684759/import-material-design-icons-into-an-android-project
tmp=/tmp/icons
index=$tmp/index.html
mkdir -p $tmp
cd $tmp
if [ ! -d material-design-icons ]
then
  git clone https://github.com/google/material-design-icons
fi
cat << EOF > $index
<html>
  <head>
    <head>
    <body>
      <h1>Google Material Design Icons</h1>
EOF
for icon in `find . -name *.svg | grep production | grep 48`
do
    svg=`basename $icon .svg`
    category=`echo $icon | cut -f3 -d '/'`
    echo $category $svg.svg
    mkdir -p $tmp/$category
    cp $icon $tmp/$category
    echo "    <img src='"$icon"' title='"$category $svg"' >" >> $index
done
cat << EOF >> $index
  </body>
</html>
EOF

1
甜美的脚本。由于这是该回购的一次性使用案例,建议更改为git clone --depth = 1以获取浅表克隆。下载速度更快。
mbac32768

1

我发现此链接对我有用。

https://dev.materialdesignicons.com/getting-started/android

gradle实现可用

dependencies {
    implementation 'net.steamcrafted:materialiconlib:1.1.5'
}

添加gradle依赖项后,您可以通过这种方式创建菜单项。

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" <!-- important, you'll have to include this to use the custom xml attributes -->
    xmlns:tools="http://schemas.android.com/tools" >

    <!-- example of a menu item with an icon -->
    <item
        android:title="Disable Wifi"
        app:showAsAction="always"
        app:materialIcon="wifi_off" <!-- This sets the icon, HAS AUTOCOMPLETE ;) -->
        app:materialIconColor="#FE0000" <!-- Sets the icon color -->
    />

</menu>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.