Czy istnieje łatwy sposób na zaimportowanie wszystkich ikon z repozytorium ikon Material Design do projektu Androida bez ryzyka zrobienia tego ręcznie?
Czy istnieje łatwy sposób na zaimportowanie wszystkich ikon z repozytorium ikon Material Design do projektu Androida bez ryzyka zrobienia tego ręcznie?
Odpowiedzi:
Spójrz na Vector Asset Studio
Wykonaj następujące kroki, aby uruchomić Vector Asset Studio:
- W Android Studio otwórz projekt aplikacji na Androida.
- W oknie projektu wybierz widok systemu Android.
- Kliknij prawym przyciskiem myszy folder res i wybierz Nowy> Zasób wektorowy.
Po otwarciu Vector Asset Studio możesz dodać ikonę materiału w następujący sposób:
- Wybierz „Ikona materiału” (klikając Clip Art: ICON)
- Kliknij Wybierz
- Wybierz ikonę materiału
Możesz użyć tej nowej wtyczki do studia Android Studio Android Material Design Icon Generator Plugin, aby pomóc Ci pracować z następującymi ikonami materiałów dostarczonymi przez Google: Google material-design-icons
Oto skrypt, który klonuje repozytorium github ikon Material Design pod adresem
https://github.com/google/material-design-icons
i tworzy indeks wszystkich plików. Kopiuje również pliki svg do podkatalogów według kategorii. Możesz użyć tego jako podstawy do skopiowania plików, którymi jesteś zainteresowany, do swojego projektu - po prostu zmodyfikuj instrukcję find i cp copy według własnych upodobań. Jeśli np. Potrzebujesz plików png w określonym rozmiarze - znajdują się one w sąsiednich katalogach i musisz wtedy odpowiednio zmodyfikować polecenie znajdowania i kopiowania.
#!/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
Ten link okazał się dla mnie pomocny.
https://dev.materialdesignicons.com/getting-started/android
dostępna jest implementacja gradle
dependencies {
implementation 'net.steamcrafted:materialiconlib:1.1.5'
}
Po dodaniu zależności od gradle, możesz w ten sposób stworzyć pozycję menu.
<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>