Most visited

Recently visited

Added in API level 1

NinePatch

public class NinePatch
extends Object

java.lang.Object
   ↳ android.graphics.NinePatch


NinePatch类允许在九个或更多节中绘制位图。 从本质上讲,它允许创建自定义图形,当图像中添加的内容超出图形的正常范围时,将会按照您定义的方式进行缩放。 有关NinePatch图像的详细解释,请阅读2D Graphics文档中的讨论。

Draw 9-Patch工具提供了一个非常方便的方式来创建NinePatch图像,使用所见即所得的图形编辑器。

Summary

Public constructors

NinePatch(Bitmap bitmap, byte[] chunk)

从位图创建一个可绘制投影到九个补丁。

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

从位图创建一个可绘制投影到九个补丁。

Public methods

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

绘制NinePatch。

void draw(Canvas canvas, Rect location)

绘制NinePatch。

void draw(Canvas canvas, RectF location)

绘制NinePatch。

Bitmap getBitmap()

返回用于绘制NinePatch的位图。

int getDensity()

按照 Bitmap.getDensity()返回底层位图的密度。

int getHeight()

返回此NinePatch的固有高度(以像素为单位)。

String getName()

如果在调用构造函数时指定了NinePatch对象的名称,则返回此NinePatch对象的名称。

Paint getPaint()

返回用于绘制NinePatch的油漆。

final Region getTransparentRegion(Rect bounds)

返回 Region表示NinePatch的是完全透明的部分。

int getWidth()

返回此NinePatch的固有宽度(以像素为单位)。

final boolean hasAlpha()

指示NinePatch是否包含透明或半透明像素。

static boolean isNinePatchChunk(byte[] chunk)

验证指定的字节数组是否是有效的9补丁数据块。

void setPaint(Paint p)

设置绘制NinePatch时使用的颜料。

Protected methods

void finalize()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。

Inherited methods

From class java.lang.Object

Public constructors

NinePatch

Added in API level 19
NinePatch (Bitmap bitmap, 
                byte[] chunk)

从位图创建一个可绘制投影到九个补丁。

Parameters
bitmap Bitmap: The bitmap describing the patches.
chunk byte: The 9-patch data chunk describing how the underlying bitmap is split apart and drawn.

NinePatch

Added in API level 1
NinePatch (Bitmap bitmap, 
                byte[] chunk, 
                String srcName)

从位图创建一个可绘制投影到九个补丁。

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

Public methods

draw

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

绘制NinePatch。 此方法将忽略由getPaint()返回的getPaint()并使用指定的绘画。

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

draw

Added in API level 1
void draw (Canvas canvas, 
                Rect location)

绘制NinePatch。 该方法将使用由getPaint()返回的getPaint()

Parameters
canvas Canvas: A container for the current matrix and clip used to draw the NinePatch.
location Rect: Where to draw the NinePatch.

draw

Added in API level 1
void draw (Canvas canvas, 
                RectF location)

绘制NinePatch。 此方法将使用由getPaint()返回的getPaint()

Parameters
canvas Canvas: A container for the current matrix and clip used to draw the NinePatch.
location RectF: Where to draw the NinePatch.

getBitmap

Added in API level 19
Bitmap getBitmap ()

返回用于绘制NinePatch的位图。

Returns
Bitmap

getDensity

Added in API level 4
int getDensity ()

按照 Bitmap.getDensity()返回底层位图的密度。

Returns
int

getHeight

Added in API level 1
int getHeight ()

返回此NinePatch的固有高度(以像素为单位)。 这相当于查询由getBitmap()返回的底层位图的高度。

Returns
int

getName

Added in API level 19
String getName ()

如果在调用构造函数时指定了NinePatch对象的名称,则返回此NinePatch对象的名称。

Returns
String

getPaint

Added in API level 19
Paint getPaint ()

返回用于绘制NinePatch的油漆。 油漆可以为空。

Returns
Paint

也可以看看:

getTransparentRegion

Added in API level 1
Region getTransparentRegion (Rect bounds)

返回 Region表示NinePatch的是完全透明的部分。

Parameters
bounds Rect: The location and size of the NinePatch.
Returns
Region null if the NinePatch has no transparent region to report, else a Region holding the parts of the specified bounds that are transparent.

getWidth

Added in API level 1
int getWidth ()

返回此NinePatch的固有宽度(以像素为单位)。 这相当于查询由getBitmap()返回的底层位图的宽度。

Returns
int

hasAlpha

Added in API level 1
boolean hasAlpha ()

指示NinePatch是否包含透明或半透明像素。 这相当于在getBitmap().hasAlpha()上调用getBitmap().hasAlpha()。

Returns
boolean

isNinePatchChunk

Added in API level 1
boolean isNinePatchChunk (byte[] chunk)

验证指定的字节数组是否是有效的9补丁数据块。

Parameters
chunk byte: A byte array representing a 9-patch data chunk.
Returns
boolean True if the specified byte array represents a 9-patch data chunk, false otherwise.

setPaint

Added in API level 1
void setPaint (Paint p)

设置绘制NinePatch时使用的颜料。

Parameters
p Paint: The paint that will be used to draw this NinePatch.

也可以看看:

Protected methods

finalize

Added in API level 1
void finalize ()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类重写了finalize方法以处置系统资源或执行其他清理。

的常规协定finalize是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 方法finalize可以采取任何行动,包括使这个对象再次可用于其他线程; 然而, finalize的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。

Objectfinalize方法Object执行特殊操作; 它只是正常返回。 Object子类可能会覆盖此定义。

Java编程语言不保证哪个线程将为任何给定对象调用finalize方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。

在为一个对象调用 finalize方法之后,在Java虚拟机再次确定不再有任何方法可以通过任何尚未死亡的线程访问此对象的方法之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。

对于任何给定的对象,Java虚拟机从不会多次调用 finalize方法。

finalize方法抛出的任何异常 finalize导致此对象的终止被暂停,但在其他情况下会被忽略。

Throws
Throwable

Hooray!