Рисование Девяти Патчей на Холсте (Android) - PullRequest
24 голосов
/ 24 января 2010

Я пытаюсь нарисовать патч из девяти на объекте Canvas в Android. Что кажется странным, так это то, что, хотя я сгенерировал свой патч для девяти с помощью инструмента draw9patch, конструктору для NinePatch требуется дополнительный байтовый массив, называемый "чанком", для создания девяти патчей.

Почему это не проще? Что такое "кусок"? И если ты сделал это сам, как ты это сделал?

Любая помощь приветствуется.

1 Ответ

76 голосов
/ 24 января 2010

Вы можете легко сделать это следующим образом:

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