25

我正在尝试在 Android 上的 Canvas 对象上绘制九个补丁。奇怪的是,虽然我使用 draw9patch 工具生成了九个补丁,但 NinePatch 的构造函数需要一个称为“块”的附加字节数组来构造九个补丁。

为什么这不简单?什么是“块”?如果你自己做了这件事,你是怎么做的?

任何帮助表示赞赏。

4

1 回答 1

79

您可以通过以下方式轻松做到这一点:

// 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);
于 2010-01-24T16:37:10.993 回答