Імпортуйте піктограми дизайну матеріалів у проект Android


144

Чи є простий спосіб імпортувати всі значки сховища іконок Material Design в проект Android, не маючи небезпеки робити це вручну?

Відповіді:


358

Погляньте на Studio Asset Studio

Виконайте наступні дії, щоб запустити Vector Asset Studio:

  • У студії Android відкрийте проект програми Android.
  • У вікні Проект виберіть перегляд Android.
  • Клацніть правою кнопкою миші папку res та виберіть New> Vector Asset.

Після відкриття Vector Asset Studio ви можете додати значок матеріалу таким чином:

  • Виберіть "Значок матеріалу" (натиснувши на Clip Art: ICON)
  • Клацніть Вибрати
  • Виберіть значок матеріалу

24
Ця відповідь приголомшлива! Ви можете не тільки вибрати значок дизайну матеріалів, який уже вбудований в Android Studio (без додаткових плагінів), але і ви отримаєте VectorDravable і (чекайте цього ...): "Якщо ваш мінімальний рівень API встановлений в одному з цих API рівнів, Vector Asset Studio також спрямовує Gradle на створення растрових зображень вектора, що перетягується для сумісності з зворотною
стороною

5
Ви навіть можете змінити колір у XML-файлі, і нові png-файли будуть згенеровані під час збирання (у додатку / build / generated / res / pngs / debug ). Мені подобається! :-)
lenrok258

2
Підтвердьте цю відповідь! Якщо ваш значок не відображається у виборі "Значок матеріалу", ви можете завантажити його з Material Icons , якщо ви вибрали формат SVG, виберіть Local SVG File in Vector Asset та сгенеруйте файл xml для цього значка. Якщо ви виберете формат PNG, клацніть правою кнопкою миші Res-> new Image Asset-> select Image-> in Path: виберіть велике зображення (xxxhdpi) та генеруйте png для кожної щільності.
noe

11
Як і для Android Studio 2.2 Preview 5, у програмі Vector Asset Studio вже немає кнопки "Вибрати", але потрібно натиснути на невелике зображення піктограми (під назвою). Зайняв мене час, щоб зрозуміти це…
balu

2
в останній студії векторних активів є тип
графічного

23

Ви можете використовувати цей новий плагін для андроїд-студії Android плагін-генератор іконок Android Material Design, щоб допомогти вам працювати з цими іконками матеріалів, наданими Google: 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

2

Я вважав це посилання корисним для мене.

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

доступна реалізація gradle

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

Після додавання залежності градуса, ви можете створити пункт меню таким чином.

<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.