The Phoenix theme had a FloatingActionButton with a gradient on top. This goes against the mostly flat material design spec but after looking at the design with a solid color I came to the conclusion that the designer was totally right to use a gradient in this case. Unfortunately we didn’t build that support into the
So as part of that work I added a special mode to the
RoundBorder that uses the parent UIID to draw the background. This sounds like a "no brainer" but there is a catch: the round border needs to be "round".
Gradient and image primitives don’t draw within a round shape, so the only solution was shape clipping which has a performance penalty as well the associated problem of not working everywhere…
To enable this we need to change the border of the component by making it use the UIID. We need to do that from code using the
RoundBorder.uiid(boolean) method. We can do this using:
RoundBorder rb = (RoundBorder)fab.getUnselectedStyle().getBorder();
If the background style of the round border includes a gradient or an image you will see the effects at once.