Importuj ikony Material Design do projektu Android

143

Czy istnieje łatwy sposób na zaimportowanie wszystkich ikon z repozytorium ikon Material Design do projektu Androida bez ryzyka zrobienia tego ręcznie?

Ivan Aranibar
źródło

Odpowiedzi:

357

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
mpkuth
źródło
24
Ta odpowiedź jest niesamowita! Nie tylko możesz wybrać ikonę Material Design, która jest już dołączona do Android Studio (bez żadnych dodatkowych wtyczek), ale także otrzymasz VectorDrawable i (poczekaj na to ...): „Jeśli minimalny poziom API jest ustawiony na jednym z tych API poziomy, Wektor aktywami Studio kieruje również Gradle do generowania obrazów rastrowych z rozciągliwej wektorowych dla wstecznej kompatybilności”
lenrok258
5
Możesz nawet zmienić kolor w pliku xml, a nowe pliki PNG zostaną wygenerowane podczas kompilacji (w aplikacji / kompilacji / wygenerowanym / res / pngs / debug ). Me gusta! :-)
lenrok258
2
Głosuj za tą odpowiedzią! W przypadku, gdy ikona nie pojawia się w opcji „Ikona materiału”, możesz ją pobrać z Ikony materiałów , jeśli wybierzesz format SVG, wybierz Lokalny plik SVG w Zasobie wektorowym i wygeneruj plik xml dla ikony. Jeśli wybierzesz format PNG, kliknij prawym przyciskiem myszy w res-> nowy zasób obrazu-> wybierz Obraz-> w ścieżce: wybierz duży obraz (xxxhdpi) i wygeneruj png dla każdej gęstości.
noe
11
Od wersji Android Studio 2.2 Preview 5 nie ma już przycisku „Wybierz” w Vector Asset Studio, ale należy kliknąć małą reprezentację ikony (pod nazwą). Zajęło mi trochę czasu,
zanim to rozgryzłem
2
najnowsze studio zasobów wektorowych ma typ clipartów zamiast ikony materiału, kliknij ikonę Androida poniżej, aby wybrać swoją ikonę
Gigarthan
23

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

Ouss StinGray
źródło
1
Zainstalowałem go, ale jak go używać?
gldraphael
1
@gldraphael - Po zainstalowaniu wybierz "Plik" - "Nowy" - "Ikona Material design". Wybierz rozmiar 48 dp, aby każdy z wygenerowanych plików miał standardową wysokość / szerokość 48, 72, 96, 144 i 192 pikseli. W razie potrzeby wybierz oczywiście mniejszy rozmiar DP.
Martyn Davis
2
@MartynDavis thanks. Ale znalazłem to. Najbardziej podoba mi się to, że sam mogę wybrać kolor.
gldraphael
15

Na folderu drawable> right click> new> vector asset, a następnie kliknij ikonę:

Zrzuty ekranu Android Studio pokazujące nieoczywiste miejsce, w którym należy kliknąć

Dołek
źródło
6

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.

wprowadź opis obrazu tutaj

#!/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
Wolfgang Fahl
źródło
1
Słodki scenariusz. Ponieważ jest to rodzaj jednorazowego przypadku użycia dla tego repozytorium, sugerujemy zmianę na git clone --depth = 1, aby uzyskać płytki klon. Pobiera się trochę szybciej.
mbac32768
1

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>
Naveed Jamali
źródło