CornerTreatment

public class CornerTreatment
extends Object implements Cloneable

java.lang.Object
   ↳ com.google.android.material.shape.CornerTreatment
Known Direct Subclasses


A basic corner treatment (a single point which does not affect the shape).

Note: For corner treatments which result in a concave shape, the parent view must disable clipping of children by calling setClipChildren(boolean), or by setting `android:clipChildren="false"` in xml. `clipToPadding` may also need to be false if there is any padding on the parent that could intersect the shadow.

Summary

Fields

protected float cornerSize

Public constructors

CornerTreatment()

Protected constructors

CornerTreatment(float cornerSize)

Public methods

CornerTreatment clone()
void getCornerPath(float angle, float interpolation, ShapePath shapePath)

Generates a ShapePath for this corner treatment.

float getCornerSize()
void setCornerSize(float cornerSize)

Inherited methods

From class java.lang.Object

Fields

cornerSize

float cornerSize

Public constructors

CornerTreatment

CornerTreatment ()

Protected constructors

CornerTreatment

CornerTreatment (float cornerSize)

Parameters
cornerSize float

Public methods

clone

CornerTreatment clone ()

Returns
CornerTreatment

getCornerPath

void getCornerPath (float angle, 
                float interpolation, 
                ShapePath shapePath)

Generates a ShapePath for this corner treatment.

CornerTreatments are assumed to have an origin of (0, 0) (i.e. they represent the top-left corner), and are automatically rotated and scaled as necessary when applied to other corners.

Parameters
angle float: the angle of the corner, typically 90 degrees.

interpolation float: the interpolation of the corner treatment. Ranges between 0 (none) and 1 (fully) interpolated. Custom corner treatments can implement interpolation to support shape transition between two arbitrary states. Typically, a value of 0 indicates that the custom corner treatment is not rendered (i.e. that it is a 90 degree angle), and a value of 1 indicates that the treatment is fully rendered. Animation between these two values can "heal" or "reveal" a corner treatment.

shapePath ShapePath: the ShapePath that this treatment should write to.

getCornerSize

float getCornerSize ()

Returns
float

setCornerSize

void setCornerSize (float cornerSize)

Parameters
cornerSize float