นำเข้าไอคอนการออกแบบวัสดุในโครงการ Android


144

มีวิธีง่ายๆในการนำเข้าไอคอนทั้งหมดของที่เก็บไอคอนการออกแบบวัสดุในโครงการ Android โดยไม่ต้องเสี่ยงกับการทำด้วยตนเองหรือไม่?

คำตอบ:


358

ลองดูที่Vector Asset Studio

ทำตามขั้นตอนเหล่านี้เพื่อเริ่ม Vector Asset Studio:

  • ใน Android Studio ให้เปิดโครงการแอพ Android
  • ในหน้าต่างโครงการเลือกมุมมอง Android
  • คลิกขวาที่โฟลเดอร์ res และเลือกใหม่> Vector Asset

หลังจากที่คุณเปิด Vector Asset Studio คุณสามารถเพิ่มไอคอนวัสดุได้ดังนี้:

  • เลือก "ไอคอนวัสดุ" (โดยคลิกที่ภาพตัดปะ: ICON)
  • คลิกเลือก
  • เลือกไอคอนวัสดุ

24
คำตอบนี้ยอดเยี่ยมมาก! ไม่เพียง แต่คุณสามารถเลือกไอคอนการออกแบบวัสดุที่รวมอยู่ใน Android Studio (ไม่มีปลั๊กอินเพิ่มเติม) แต่คุณจะได้รับ VectorDrawable และ (รอเลย ... ): "หากระดับ API ขั้นต่ำของคุณตั้งอยู่ที่ API เหล่านี้ ระดับ, Vector Asset Studio ยังสั่ง Gradle เพื่อสร้างภาพแรสเตอร์ของเวกเตอร์ที่วาดได้เพื่อความเข้ากันได้แบบย้อนหลัง "
lenrok258

5
คุณสามารถเปลี่ยนสีในไฟล์ xml และ png ใหม่จะถูกสร้างขึ้นในระหว่างการสร้าง (ในแอพ / สร้าง / สร้าง / res / pngs / debug ) ฉัน gusta! :-)
lenrok258

2
โหวตขึ้นสำหรับคำตอบนี้! ในกรณีที่ไอคอนของคุณไม่ปรากฏในเลือก "ไอคอนวัสดุ" คุณสามารถดาวน์โหลดได้จากไอคอนวัสดุหากคุณเลือกรูปแบบ SVG ให้เลือกไฟล์ SVG ท้องถิ่นในสินทรัพย์เวกเตอร์และสร้างไฟล์ xml สำหรับไอคอน หากคุณเลือกรูปแบบ PNG ให้คลิกขวาใน res-> สินทรัพย์รูปภาพใหม่ -> เลือกรูปภาพ -> ในเส้นทาง: เลือกภาพขนาดใหญ่ (xxxhdpi) และสร้าง png สำหรับทุกความหนาแน่น
noe

11
ในฐานะของ Android Studio 2.2 ดูตัวอย่าง 5 ไม่มีปุ่ม "เลือก" ใน Vector Asset Studio อีกต่อไป แต่ต้องคลิกที่ไอคอนเล็ก ๆ (ใต้ชื่อ) เอาฉันในขณะที่ตัวเลขที่ออกมา ...
Balu

2
เมื่อเร็ว ๆ นี้ Asset Studio มีประเภทภาพตัดปะแทนที่จะเป็นไอคอนวัสดุคลิกที่ไอคอน Android ด้านล่างเพื่อเลือกไอคอนของคุณ
Gigarthan

23

คุณสามารถใช้ปลั๊กอินใหม่นี้สำหรับ android studio ไอคอนวัสดุการออกแบบเครื่องกำเนิด Android เพื่อช่วยให้คุณทำงานกับไอคอนวัสดุเหล่านี้โดย Google: Google material-design-icons


1
ฉันติดตั้งแล้ว แต่ฉันจะใช้ได้อย่างไร
gldraphael

1
@gldraphael - เมื่อติดตั้งแล้วให้เลือก "ไฟล์" - "ใหม่" - "ไอคอนการออกแบบวัสดุ" เลือกขนาด 48dp เพื่อให้แน่ใจว่าแต่ละไฟล์ที่สร้างขึ้นมีความสูง / ความกว้างมาตรฐาน 48, 72, 96, 144 และ 192 พิกเซล แน่นอนเลือกขนาด dp ที่เล็กลงหากต้องการ
Martyn Davis

2
@ Martinynavis ขอบคุณ ฉันพบว่า สิ่งที่ฉันชอบมากที่สุดคือความจริงที่ว่าฉันสามารถเลือกสีได้
gldraphael


6

นี่คือสคริปต์ที่โคลนที่เก็บ github ของไอคอนการออกแบบวัสดุที่

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

และสร้างดัชนีของไฟล์ทั้งหมด นอกจากนี้ยังคัดลอกไฟล์ svg ไปยังไดเรกทอรีย่อยตามหมวดหมู่ คุณสามารถใช้สิ่งนี้เป็นพื้นฐานในการคัดลอกไฟล์ที่คุณสนใจในโครงการของคุณ - เพียงปรับเปลี่ยนคำสั่ง find และ cp copy เพื่อความชอบของคุณ หากคุณต้องการ png ในขนาดที่กำหนด - อยู่ในไดเรกทอรีใกล้เคียงและคุณต้องแก้ไขคำสั่ง find และ copy ตามนั้น

ป้อนคำอธิบายรูปภาพที่นี่

#!/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
สคริปต์หวาน เนื่องจากนี่เป็นกรณีการใช้งานแบบโยนทิ้งสำหรับ repo นั้นจึงแนะนำให้เปลี่ยนเป็น git clone --depth = 1 เพื่อให้ได้โคลนที่ตื้น ดาวน์โหลดเร็วขึ้นเล็กน้อย
mbac32768

2

ฉันพบลิงค์นี้มีประโยชน์สำหรับฉัน

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>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.