CutCornerTreatment

public class CutCornerTreatment extends CornerTreatment


A corner treatment which cuts or clips the original corner of a shape with a straight line.

Summary

Public constructors

CutCornerTreatment(float size)

This method is deprecated.

Set the size using the ShapeAppearanceModel.Builder

Public methods

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

Generates a ShapePath using a single radius value for this corner treatment.

Inherited methods

From com.google.android.material.shape.CornerTreatment
void
getCornerPath(float angle, float interpolation, ShapePath shapePath)

This method is deprecated.

implement getCornerPath or getCornerPath instead.

void
getCornerPath(
    ShapePath shapePath,
    float angle,
    float interpolation,
    RectF bounds,
    CornerSize size
)

Generates a ShapePath for this corner treatment.

Public constructors

CutCornerTreatment

public CutCornerTreatment()

CutCornerTreatment

public CutCornerTreatment(float size)

Instantiates a cut corner treatment of a given size. A cut corner treatment introduces two new corners to a shape, produced by a straight line drawn between two points {@param size} pixels away, on the vertical and horizontal axes, from the rectilinear (original) corner of the shape. Stated another way, if the rectilinear (original) corner of the shape was at co-ordinates (0, 0), the new corners are at co-ordinates (size, 0) and (0, size), and a straight line is drawn between them.

Parameters
float size

the length in pixels that the new corners will be drawn away from the origin.

Public methods

getCornerPath

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

Generates a ShapePath using a single radius value 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
ShapePath shapePath

the ShapePath that this treatment should write to.

float angle

the angle of the corner, typically 90 degrees.

float interpolation

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.

float radius

the radius or size of this corner.