将九个补丁绘制到画布上(Android)

2022-09-01 18:03:39

我正在尝试在Android上的Canvas对象上绘制一个九个补丁。似乎奇怪的是,尽管我使用 draw9patch 工具生成了我的九个补丁,但 NinePatch 的构造函数需要一个称为“chunk”的额外字节数组来构建九个补丁。

为什么不更简单?什么是“块”?如果你自己已经这样做了,你是怎么做到的?

任何帮助赞赏。


答案 1

您可以通过以下方式轻松完成此操作:

// 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);

答案 2

推荐