包
android.graphics.drawable.NinePatchDrawable
父类
android.graphics.drawable.Drawable
其他Draw文章参考:
Android中Drawable整体介绍
介绍
可调整大小的位图,带有可定义的可伸缩区域。 这种类型的图像是以特殊格式在.png文件中定义的。
NinePatchDrawable图形是可拉伸的位图图像,您可以将其用作视图的背景。 Android会自动调整图形的大小以适应视图的内容。 NinePatch图像的一个使用示例是标准Android按钮所使用的背景 - 按钮必须伸展以适应各种长度的字符串。 NinePatch图形是标准的PNG图像,包含一个额外的1像素边框。必须使用9.png扩展名保存在项目的res / drawable /目录中。
使用边框来定义图像的可拉伸区域和静态区域。您可以通过在边框左侧和顶部绘制一条(或多条)1像素宽的黑色线(其他边框像素应完全透明或白色)来指示可拉伸的部分。你可以有任意数量的可拉伸部分。可拉伸部分的相对尺寸保持不变,所以最大部分始终保持最大。
示例图
您还可以通过在右侧绘制一条线和在底部绘制一条线来定义图像的可选绘图部分(实际上是填充线)。如果View对象将NinePatch图形设置为其背景,然后指定视图的文本,则它将自行伸展,以便所有文本仅占用右侧和底部行(如果包含)所指定的区域。如果不包含填充线,Android将使用左边和上边的线来定义这个可绘制区域。
image.png
为了阐明线条之间的差异,左边线和上边线定义图像的哪些像素被允许被复制以便拉伸图像。底部和右侧的行定义了图像内允许占用视图内容的相对区域。
这NinePatch图形定义了一个可伸缩的区域与左边和顶部线,并绘制区域与底部和右边线。 在顶部图像中,虚线灰色线表示为了展开图像而复制的图像区域。 底部图像中的粉红色矩形标识允许查看内容的区域。 如果内容不适合这个区域,那么图像被拉伸以使它们适合。
Draw 9-patch工具提供了一个非常方便的方法来创建NinePatch图像,使用所见即所得的图形编辑器。 它甚至会引发警告,如果您为可拉伸区域定义的区域由于像素复制而有生成绘制伪像的风险。
说明
NiewPatchDrawable和BitmapDrawable一样,xml属性差不多。不同的是根标签是:<nine-patch></nine-patch>
构造方法
NinePatchDrawable (Bitmap bitmap, byte[] chunk, Rect padding, String srcName)
此构造函数在API级别4中已被弃用。
使用NinePatchDrawable(资源,位图,字节[],矩形,字符串),以确保绘图已正确设置其目标密度。
从原始的九个补丁数据创建drawable,而不是处理密度。
NinePatchDrawable (Resources res, Bitmap bitmap, byte[] chunk, Rect padding, String srcName)
根据原始九块补丁数据创建drawable,根据资源的显示度量设置初始目标密度。
NinePatchDrawable (NinePatch patch)
此构造函数在API级别4中已被弃用。
使用NinePatchDrawable(Resources,NinePatch)确保drawable已经正确设置了其目标密度。
从现有的九个补丁创建drawable,而不是处理密度。
patch不能为空
NinePatchDrawable (Resources res, NinePatch patch)
从现有的九个补丁创建drawable,根据资源的显示度量设置初始目标密度。
res 可以为空,但是patch不能为空
公开方法
.9图片一般是直接用作view的背景多,所以这里先不整理了






网友评论