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?

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

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


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ąć


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

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>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.