Skip to content

Most visited

Recently visited

navigation
Added in API level 1

Shape

public abstract class Shape
extends Object implements Cloneable

java.lang.Object
   ↳ android.graphics.drawable.shapes.Shape
Known Direct Subclasses
Known Indirect Subclasses


Defines a generic graphical "shape." Any Shape can be drawn to a Canvas with its own draw() method, but more graphical control is available if you instead pass it to a ShapeDrawable.

Summary

Public constructors

Shape()

Public methods

Shape clone()

Creates and returns a copy of this Object.

abstract void draw(Canvas canvas, Paint paint)

Draw this shape into the provided Canvas, with the provided Paint.

final float getHeight()

Returns the height of the Shape.

void getOutline(Outline outline)

Compute the Outline of the shape and return it in the supplied Outline parameter.

final float getWidth()

Returns the width of the Shape.

boolean hasAlpha()

Checks whether the Shape is opaque.

final void resize(float width, float height)

Resizes the dimensions of this shape.

Protected methods

void onResize(float width, float height)

Callback method called when resize(float, float) is executed.

Inherited methods

From class java.lang.Object

Public constructors

Shape

Added in API level 1
Shape ()

Public methods

clone

Added in API level 1
Shape clone ()

Creates and returns a copy of this Object. The default implementation returns a so-called "shallow" copy: It creates a new instance of the same class and then copies the field values (including object references) from this instance to the new instance. A "deep" copy, in contrast, would also recursively clone nested objects. A subclass that needs to implement this kind of cloning should call super.clone() to create the new instance and then create deep copies of the nested, mutable objects.

Returns
Shape a copy of this object.
Throws
CloneNotSupportedException

draw

Added in API level 1
void draw (Canvas canvas, 
                Paint paint)

Draw this shape into the provided Canvas, with the provided Paint. Before calling this, you must call resize(float, float).

Parameters
canvas Canvas: the Canvas within which this shape should be drawn
paint Paint: the Paint object that defines this shape's characteristics

getHeight

Added in API level 1
float getHeight ()

Returns the height of the Shape.

Returns
float

getOutline

Added in API level 21
void getOutline (Outline outline)

Compute the Outline of the shape and return it in the supplied Outline parameter. The default implementation does nothing and outline is not changed.

Parameters
outline Outline: The Outline to be populated with the result. Should not be null.

getWidth

Added in API level 1
float getWidth ()

Returns the width of the Shape.

Returns
float

hasAlpha

Added in API level 1
boolean hasAlpha ()

Checks whether the Shape is opaque. Default impl returns true. Override if your subclass can be opaque.

Returns
boolean true if any part of the drawable is not opaque.

resize

Added in API level 1
void resize (float width, 
                float height)

Resizes the dimensions of this shape. Must be called before draw(Canvas, Paint).

Parameters
width float: the width of the shape (in pixels)
height float: the height of the shape (in pixels)

Protected methods

onResize

Added in API level 1
void onResize (float width, 
                float height)

Callback method called when resize(float, float) is executed.

Parameters
width float: the new width of the Shape
height float: the new height of the Shape
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.