For the earlier L Preview there were some examples like shown below to add to your code in order to use an FAB (Floating Action Button).
But unfortunately I can't use that same code to implement an FAB due to the setOutline method not being supported anymore, but it appears to have been replaced by an alternative method 'fab.setOutlineProvider(ViewOutlineProvider);'. could anyone explain how to use this?...
It is probably something really simple that I am missing, but any help would be much appreciated.
// Outline
int size = getResources().getDimensionPixelSize(R.dimen.fab_size);
Outline outline = new Outline();
outline.setOval(0, 0, size, size);
Button fab = (Button) findViewById(R.id.fab);
fab.setOutline(outline);
fab.setClipToOutline(true);
Every View has an Outline object and a ViewOutlineProvider(V.O.P) object. As the name suggest viewoutlineprovider provides the outline to the view indirectly.
What the view does is it passes its outline object to the V.O.P and the V.O.P updates it.
so you have the view's Outline object in the getOutline method of the VOP as a parameter,simply update it.
Per customizing view shadows and outlines training:
So your
ViewOutlineProvider
just needs to callsetOval(0, 0, size, size)
on theoutline
parameter togetOutline()
:Just to complete the @ianhanniballake answer: