Impor ikon desain bahan ke proyek Android

143

Apakah ada cara mudah untuk mengimpor semua ikon repositori ikon Desain Bahan ke proyek android tanpa bahaya melakukannya secara manual?

Ivan Aranibar
sumber

Jawaban:

358

Lihatlah Vector Asset Studio

Ikuti langkah-langkah ini untuk memulai Vector Asset Studio:

  • Di Android Studio, buka proyek aplikasi Android.
  • Di jendela Proyek, pilih tampilan Android.
  • Klik kanan folder res dan pilih New> Vector Asset.

Setelah Anda membuka Vector Asset Studio, Anda dapat menambahkan ikon materi sebagai berikut:

  • Pilih "Ikon Bahan" (dengan mengklik Clip Art: ICON)
  • Klik Pilih
  • Pilih ikon materi
mpkuth
sumber
24
Jawaban ini luar biasa! Tidak hanya Anda dapat memilih ikon desain bahan yang sudah dibundel dalam Android Studio (tanpa plugin tambahan) tetapi juga Anda akan mendapatkan VectorDrawable dan (tunggu ...): "Jika level API minimum Anda ditetapkan pada salah satu dari API ini level, Vector Asset Studio juga mengarahkan Gradle untuk menghasilkan gambar raster dari vektor yang dapat digambar untuk kompatibilitas ke belakang "
lenrok258
5
Anda bahkan dapat mengubah warna dalam file xml dan png baru akan dihasilkan selama build (di app / build / generate / res / pngs / debug ). Saya semangat! :-)
lenrok258
2
Suara positif untuk jawaban ini! Jika ikon Anda tidak muncul di pilih "Ikon Bahan", Anda dapat mengunduhnya dari Ikon Bahan , jika Anda memilih format SVG, pilih File SVG Lokal di Aset Vektor dan hasilkan file xml untuk ikon tersebut. Jika Anda memilih format PNG, klik kanan di res-> New Image Asset-> pilih Image-> di Path: pilih gambar besar (xxxhdpi), dan hasilkan png untuk setiap kepadatan.
noe
11
Pada Android Studio 2.2 Pratinjau 5, tidak ada tombol "Pilih" di Vector Asset Studio lagi tetapi kita harus mengklik pada representasi kecil ikon (di bawah nama). Butuh waktu beberapa saat untuk memikirkannya ...
balu
2
studio aset vektor baru-baru ini memiliki jenis seni klip alih-alih ikon material, klik ikon android di bawah sana untuk memilih ikon Anda
Gigarthan
23

Anda dapat menggunakan plugin baru ini untuk studio android Plugin Material Icon Icon Desain Android untuk membantu Anda bekerja dengan ikon-ikon material yang disediakan oleh Google: Google material-desain-ikon

Ouss StinGray
sumber
1
Saya telah menginstalnya, tetapi bagaimana cara menggunakannya?
gldraphael
1
@gldraphael - Setelah diinstal pilih "File" - "New" - "Ikon desain material". Pilih ukuran 48dp untuk memastikan bahwa masing-masing file yang dihasilkan memiliki standar 48, 72, 96, 144 & 192 piksel tinggi / lebar. Tentu saja pilih ukuran dp yang lebih kecil jika diperlukan.
Martyn Davis
2
@MartynDavis terima kasih. Saya menemukannya. Yang paling saya sukai dari itu adalah fakta bahwa saya juga bisa memilih warnanya.
gldraphael
15

Pada folder drawable> right click> new> vector asset, lalu klik ikon:

Tangkapan layar Android Studio menunjukkan tempat yang tidak jelas tempat mengklik

Lembah
sumber
6

Berikut ini adalah skrip yang mengkloning repositori github dari ikon desain material di

https://github.com/google/material-design-icons

dan membuat indeks semua file. Ini juga menyalin file svg ke subdirektori berdasarkan kategori. Anda dapat menggunakan ini sebagai dasar untuk menyalin file yang Anda minati ke dalam proyek Anda - cukup modifikasi pernyataan cari dan salin cp sesuai keinginan Anda. Jika Anda misalnya memerlukan png pada ukuran tertentu - mereka berada di direktori tetangga dan Anda perlu memodifikasi perintah find and copy sesuai dengan itu.

masukkan deskripsi gambar di sini

#!/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
sumber
1
Skrip yang manis. Karena ini adalah semacam use-case sekali pakai untuk repo yang menyarankan perubahan ke git clone --depth = 1 untuk mendapatkan klon dangkal. Pengunduhan sedikit lebih cepat.
mbac32768
1

Saya menemukan tautan ini bermanfaat bagi saya.

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

implementasi gradle tersedia

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

Setelah menambahkan dependensi gradle, Anda dapat membuat item menu dengan cara ini.

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