Using Vector Assets for Icons in Android Studio 1.4

Since Android Studio 1.4, we can use Vector Assets which was earlier restricted to Lollipop alone. This is more efficient since one drawable which requires multiple instances saved in different density folders will now be replaced by just ONE single vector asset inside res/drawable/

You need to use Gradle 1.4 for this. 

  1. Add 'com.android.tools.build:gradle:1.5.0' to your build.gradle file dependencies.
  2. Add a vector asset by right-clicking res/drawable/ > New > Vector Asset. Android Studio provides a built-in viewer for you to pick your drawable.
  3. Reference your icon like you usually do. Eg: android:icon="@drawable/ic_help_24dp"

NOTE: 

Since the icons are black, you may want to tint your ActionBar icons white. You can do so by reference the icon like this: menu.getItem(index).getIcon() and then use DrawableCompat to tint.

Suleiman

Product Designer who occasionally writes code.

You may also like...

9 Responses

  1. Ram says:

    vector asset menu is not showing
    res/drawable/ > New > Vector Asset
    instead of it Image Asset is there

  2. Amr Aborig says:

    L is missing in gradle

  3. 咕咚 says:

    nice~

  4. But tinting drawables using DrawableCompat in support-v4 have a bug as you can see in my issue reported here https://code.google.com/p/android/issues/detail?id=198082.

  5. Binh Nguyen says:

    I think it is possible to change the color of an icon directly in its drawable file. Is there a reason that you used DrawableCompat to tint the icon instead?

    • Suleiman19 says:

      Using the Vector Drawable assets, the imported icon is by default black. When I used these on a Toolbar menu, it wasn’t white.

      Hence why I had to tint it manually.

Leave a Reply

Your email address will not be published. Required fields are marked *