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


151

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

Ответы:


380

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

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

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

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

  • Выберите «Значок материала» (нажав на картинку: ICON)
  • Нажмите Выбрать
  • Выберите значок материала

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>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.