gradle-android-ribbonizer-plugin icon indicating copy to clipboard operation
gradle-android-ribbonizer-plugin copied to clipboard

Ribbon not applied to API 26 adaptive-icons

Open mensly opened this issue 7 years ago • 5 comments

Currently, no visible changes will be made to the icons when using this plugin with the default template project in Canary Android Studio 3.0 and run on a device running the Android 8 Beta. This is due to changes in how icons are specified to allow vector formats and masked layers.

A few approaches I am considering in order to fix this if I have the time would be to (optionally) trash the mipmap-anydpi-v26 directory when applying a ribbon or draw a ribbon in a more central position when applying to ic_launcher_foreground. It should also be possible to apply colour filters (ie grayScaleFilter) to vector assets by modifying fillColor and strokeColor in the xml attributes.

See: https://developer.android.com/preview/features/adaptive-icons.html

mensly avatar Aug 01 '17 06:08 mensly

Any timeline on this? I use a vector for my foreground adaptive icon layer and would like to be able to apply the ribbon to it.

ValCanBuild avatar Sep 13 '17 08:09 ValCanBuild

Unlikely to be soon as I've fixed it for our use-case, but once I get some free time or open-source contribution time at work, this is the top of my priority list.

mensly avatar Sep 20 '17 02:09 mensly

+1 - @mensly can we see your workaround ?

mfrtrifork avatar Nov 16 '17 07:11 mfrtrifork

Well as for a workaround, adaptive icons use a foreground and a background for the launcher icon, what could be done is:

  1. check for ic_launcher_foreground.xml in your res/drawable folder, this would be an svg icon for most users copy this and paste it in a separate variant-specific path, for ex. for debug builds paste it in debug/res/drawable/ic_launcher_foreground.xml, in the path element find the fillColor variable and change the color for some different value other than the one present there, this will be your identifier to that variant. Similar can be done for other variants as well.

  2. To modify the background, like the grayFilter you can find a file called ic_launcher_drawable.xml in your values folder, copy it and paste it in a variant-specific folder, for ex for debug it can be /debug/res/values/ic_launcher_background.xml and change the value ic_laucher_background.xml to something specific to your variant. run your app and try!

ps. thank you for this lib. saved me a lot of effort for non-oreo devices.

shahsurajk avatar May 10 '18 18:05 shahsurajk

This library is super cool but unfortunately we are not able to use it since this does not work for oreo and above devices. Any timeline on when we can have this working for adaptive icons?

rajdheepak avatar Feb 10 '20 11:02 rajdheepak