Есть ли простой способ импортировать все значки из репозитория значков Material Design в проект Android, не опасаясь делать это вручную?
Есть ли простой способ импортировать все значки из репозитория значков Material Design в проект Android, не опасаясь делать это вручную?
Ответы:
Взгляните на Vector Asset Studio
Выполните следующие действия, чтобы запустить Vector Asset Studio:
- В Android Studio откройте проект приложения Android.
- В окне проекта выберите представление Android.
- Щелкните правой кнопкой мыши папку res и выберите New> Vector Asset.
После открытия Vector Asset Studio вы можете добавить значок материала следующим образом:
- Выберите «Значок материала» (нажав на картинку: ICON)
- Нажмите Выбрать
- Выберите значок материала
Вы можете использовать этот новый плагин для Android Studio Android Material Design Icon Generator Plugin, который поможет вам работать с этими значками материалов, предоставленными Google: Google material-design-icons
Вот скрипт, который клонирует репозиторий 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
Я нашел эту ссылку полезной для меня.
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>