Импортируйте значки материального дизайна в проект Android

151

Есть ли простой способ импортировать все значки из репозитория значков Material Design в проект Android, не опасаясь делать это вручную?

Иван Аранибар
источник

Ответы:

380

Взгляните на Vector Asset Studio

Выполните следующие действия, чтобы запустить Vector Asset Studio:

  • В Android Studio откройте проект приложения Android.
  • В окне проекта выберите представление Android.
  • Щелкните правой кнопкой мыши папку res и выберите New> Vector Asset.

После открытия Vector Asset Studio вы можете добавить значок материала следующим образом:

  • Выберите «Значок материала» (нажав на картинку: ICON)
  • Нажмите Выбрать
  • Выберите значок материала
mpkuth
источник
25
Отличный ответ! Вы можете не только выбрать значок материального дизайна, который уже включен в Android Studio (без каких-либо дополнительных плагинов), но также вы получите VectorDrawable и (подождите ...): «Если ваш минимальный уровень API установлен на одном из этих API уровней, Vector Asset Studio также предписывает Gradle генерировать растровые изображения векторов, которые можно рисовать для обратной совместимости »
lenrok258
5
Вы даже можете изменить цвет в XML-файле, и новые PNG будут созданы во время сборки (в app / build / generated / res / pngs / debug ). Мне нравится! :-)
lenrok258
2
Проголосуйте за этот ответ! В случае, если ваш значок не отображается в выборе «Значок материала», вы можете загрузить его из значков материалов , если вы выберете формат SVG, выберите «Локальный файл SVG в векторном активе» и сгенерируйте файл xml для значка. Если вы выбрали формат PNG, щелкните правой кнопкой мыши в res-> new Image Asset-> выберите Image-> в Path: выберите большое изображение (xxxhdpi) и сгенерируйте png для каждой плотности.
НЭ
11
Начиная с Android Studio 2.2 Preview 5, в Vector Asset Studio больше нет кнопки «Выбрать», но нужно щелкнуть небольшое изображение значка (под именем). Мне
потребовалось
2
Недавняя студия векторных ресурсов имеет тип клипа вместо значка материала, щелкните значок Android внизу, чтобы выбрать свой значок
Gigarthan
23

Вы можете использовать этот новый плагин для Android Studio Android Material Design Icon Generator Plugin, который поможет вам работать с этими значками материалов, предоставленными Google: Google material-design-icons

Усс Стингрей
источник
1
Я его установил, но как мне его использовать?
galdin
1
@gldraphael - После установки выберите «Файл» - «Новый» - «Значок дизайна материалов». Выберите размер 48dp, чтобы гарантировать, что каждый из сгенерированных файлов имеет стандартную высоту / ширину 48, 72, 96, 144 и 192 пикселей. Конечно, при необходимости выберите меньший размер dp.
Мартин Дэвис
2
@MartynDavis, спасибо. Но я нашел это. Что мне больше всего нравится в этом, так это то, что я тоже могу выбирать цвет.
galdin
20

В папке drawable> right click> new> vector asset, а затем нажмите на значок:

Снимки экрана Android Studio, показывающие неочевидное место, где нажать

Дол
источник
6

Вот скрипт, который клонирует репозиторий github иконок материального дизайна на

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

и создает индекс всех файлов. Он также копирует файлы svg в подкаталоги по категориям. Вы можете использовать это как основу для копирования интересующих вас файлов в свой проект - просто измените операторы find и cp copy по своему вкусу. Если вам, например, нужны файлы png определенного размера - они находятся в соседних каталогах, и вам необходимо соответствующим образом изменить команду поиска и копирования.

введите описание изображения здесь

#!/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
2

Я нашел эту ссылку полезной для меня.

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>
Навид Джамали
источник