我正在尝试在 Android 上的 Canvas 对象上绘制九个补丁。奇怪的是,虽然我使用 draw9patch 工具生成了九个补丁,但 NinePatch 的构造函数需要一个称为“块”的附加字节数组来构造九个补丁。
为什么这不简单?什么是“块”?如果你自己做了这件事,你是怎么做的?
任何帮助表示赞赏。
我正在尝试在 Android 上的 Canvas 对象上绘制九个补丁。奇怪的是,虽然我使用 draw9patch 工具生成了九个补丁,但 NinePatch 的构造函数需要一个称为“块”的附加字节数组来构造九个补丁。
为什么这不简单?什么是“块”?如果你自己做了这件事,你是怎么做的?
任何帮助表示赞赏。
您可以通过以下方式轻松做到这一点:
// Load the image as a NinePatch drawable
NinePatchDrawable npd = (NinePatchDrawable)Resources.getDrawable(R.drawable.my_nine_patch);
// Set its bound where you need
Rect npdBounds = new Rect(...);
npd.setBounds(npbBounds);
// Finally draw on the canvas
npd.draw(canvas);