gradle-android-ribbonizer-plugin
gradle-android-ribbonizer-plugin copied to clipboard
Ribbon not applied to API 26 adaptive-icons
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
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.
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.
+1 - @mensly can we see your workaround ?
Well as for a workaround, adaptive icons use a foreground and a background for the launcher icon, what could be done is:
-
check for
ic_launcher_foreground.xml
in yourres/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 indebug/res/drawable/ic_launcher_foreground.xml
, in thepath
element find thefillColor
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. -
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 valueic_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.
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?