public class NinePatch
extends Object
java.lang.Object | |
↳ | android.graphics.NinePatch |
NinePatch类允许在九个或更多节中绘制位图。 从本质上讲,它允许创建自定义图形,当图像中添加的内容超出图形的正常范围时,将会按照您定义的方式进行缩放。 有关NinePatch图像的详细解释,请阅读2D Graphics文档中的讨论。
Draw 9-Patch工具提供了一个非常方便的方式来创建NinePatch图像,使用所见即所得的图形编辑器。
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() 按照 |
int |
getHeight() 返回此NinePatch的固有高度(以像素为单位)。 |
String |
getName() 如果在调用构造函数时指定了NinePatch对象的名称,则返回此NinePatch对象的名称。 |
Paint |
getPaint() 返回用于绘制NinePatch的油漆。 |
final Region |
getTransparentRegion(Rect bounds) 返回 |
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
|
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 (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. |
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. |
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. |
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. |
int getHeight ()
返回此NinePatch的固有高度(以像素为单位)。 这相当于查询由getBitmap()
返回的底层位图的高度。
Returns | |
---|---|
int |
String getName ()
如果在调用构造函数时指定了NinePatch对象的名称,则返回此NinePatch对象的名称。
Returns | |
---|---|
String |
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. |
int getWidth ()
返回此NinePatch的固有宽度(以像素为单位)。 这相当于查询由getBitmap()
返回的底层位图的宽度。
Returns | |
---|---|
int |
boolean hasAlpha ()
指示NinePatch是否包含透明或半透明像素。 这相当于在getBitmap().hasAlpha()
上调用getBitmap().hasAlpha()。
Returns | |
---|---|
boolean |
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. |
void setPaint (Paint p)
设置绘制NinePatch时使用的颜料。
Parameters | |
---|---|
p |
Paint : The paint that will be used to draw this NinePatch. |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类重写了finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 方法finalize
可以采取任何行动,包括使这个对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类Object
的finalize
方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在为一个对象调用 finalize
方法之后,在Java虚拟机再次确定不再有任何方法可以通过任何尚未死亡的线程访问此对象的方法之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机从不会多次调用 finalize
方法。
finalize
方法抛出的任何异常 finalize
导致此对象的终止被暂停,但在其他情况下会被忽略。
Throws | |
---|---|
Throwable |