to top
Android APIs
public class

NinePatch

extends Object
java.lang.Object
   ↳ android.graphics.NinePatch

Class Overview

The NinePatch class permits drawing a bitmap in nine sections. The four corners are unscaled; the four edges are scaled in one axis, and the middle is scaled in both axes. Normally, the middle is transparent so that the patch can provide a selection about a rectangle. Essentially, it allows the creation of custom graphics that will scale the way that you define, when content added within the image exceeds the normal bounds of the graphic. For a thorough explanation of a NinePatch image, read the discussion in the 2D Graphics document.

The Draw 9-Patch tool offers an extremely handy way to create your NinePatch images, using a WYSIWYG graphics editor.

Summary

Public Constructors
NinePatch(Bitmap bitmap, byte[] chunk, String srcName)
Create a drawable projection from a bitmap to nine patches.
Public Methods
void draw(Canvas canvas, Rect location)
Draw a bitmap of nine patches.
void draw(Canvas canvas, Rect location, Paint paint)
Draw a bitmap of nine patches.
void draw(Canvas canvas, RectF location)
Draw a bitmap of nine patches.
int getDensity()
Return the underlying bitmap's density, as per Bitmap.getDensity().
int getHeight()
final Region getTransparentRegion(Rect location)
int getWidth()
final boolean hasAlpha()
static boolean isNinePatchChunk(byte[] chunk)
void setPaint(Paint p)
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public NinePatch (Bitmap bitmap, byte[] chunk, String srcName)

Added in API level 1

Create a drawable projection from a bitmap to nine patches.

Parameters
bitmap The bitmap describing the patches.
chunk The 9-patch data chunk describing how the underlying bitmap is split apart and drawn.
srcName The name of the source for the bitmap. Might be null.

Public Methods

public void draw (Canvas canvas, Rect location)

Added in API level 1

Draw a bitmap of nine patches.

Parameters
canvas A container for the current matrix and clip used to draw the bitmap.
location Where to draw the bitmap.

public void draw (Canvas canvas, Rect location, Paint paint)

Added in API level 1

Draw a bitmap of nine patches.

Parameters
canvas A container for the current matrix and clip used to draw the bitmap.
location Where to draw the bitmap.
paint The Paint to draw through.

public void draw (Canvas canvas, RectF location)

Added in API level 1

Draw a bitmap of nine patches.

Parameters
canvas A container for the current matrix and clip used to draw the bitmap.
location Where to draw the bitmap.

public int getDensity ()

Added in API level 4

Return the underlying bitmap's density, as per Bitmap.getDensity().

public int getHeight ()

Added in API level 1

public final Region getTransparentRegion (Rect location)

Added in API level 1

public int getWidth ()

Added in API level 1

public final boolean hasAlpha ()

Added in API level 1

public static boolean isNinePatchChunk (byte[] chunk)

Added in API level 1

public void setPaint (Paint p)

Added in API level 1