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.
- Add
'com.android.tools.build:gradle:1.5.0'
to your build.gradle file dependencies. - 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.
- 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.
Product Designer who occasionally writes code.
vector asset menu is not showing
res/drawable/ > New > Vector Asset
instead of it Image Asset is there
L is missing in gradle
Good eye! Thank you for noticing my mistake. Have fixed it now 🙂
nice~
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.
Hi Filipe,
Use the SRC_IN tint mode. Post has been updated.
Thanks.
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?
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.