Обычно, если вы хотите сделать какой-то пользовательский рисунок с полем, т.е. Нарисуйте в графическом контексте поля, подкласс Field и переопределите метод paint . Однако, когда дело доходит до BrowserField, вы не можете сделать это, потому что он объявлен final .
Однако для этого есть обходной путь. Вы можете создать подкласс Manager и добавить свой BrowserField к экземпляру этого менеджера. Так, например, если вы хотите добавить свой экземпляр BrowserField в VerticalFieldManager, вы можете использовать следующий код для получения доступа к объекту Graphics, в который будет втягиваться браузер. В этом примере кода вы увидите, что я использую графический объект и реализацию суперкласса менеджера для рисования в растровое изображение. Затем это растровое изображение рисуется на экране.
VerticalFieldManager vfm = new VerticalFieldManager() {
// Override to gain access to Field's drawing surface
//
protected void paint(Graphics graphics) {
// Create a bitmap to draw into
//
Bitmap b = new Bitmap(vfm.getVirtualWidth(), vfm.getVirtualHeight());
// Create a graphics context to draw into the bitmap
//
Graphics g = Graphics.create(b);
// Give this graphics context to the superclass implementation
// so it will draw into the bitmap instead of the screen
//
super.paint(g);
// Now, draw the bitmap
//
graphics.drawBitmap(0,
0,
vfm.getVirtualWidth(),
vfm.getVirtualHeight(),
b,
0,
0);
}
};
И, там у вас есть Bitmap, содержащий содержимое менеджера. Следует отметить, однако, что это может потреблять много памяти.