Я пытаюсь сделать осязаемый образ, который может сосредоточиться, когда я прокручиваю его осязаемыми кнопки на устройстве это мой код осязаемых изображений:Blackberry добавить границу изображения, когда фокус
class TouchBitmapField extends BitmapField {
Bitmap bitmap;
boolean second;
int width;
public TouchBitmapField(Bitmap startBitmap, long style, int width, boolean second) {
super(startBitmap, style);
this.second = second;
bitmap = startBitmap;
this.width = width;
}
protected void drawFocus(Graphics g, boolean on){
g.setDrawingStyle(Graphics.DRAWSTYLE_FOCUS, true);
if(on){
drawHighlightRegion(g, Field.HIGHLIGHT_FOCUS, on, width-(bitmap.getWidth()/2), 0, bitmap.getWidth(), bitmap.getHeight());
}
paint(g);
}
protected boolean touchEvent(TouchEvent message) {
if (TouchEvent.CLICK == message.getEvent()) {
FieldChangeListener listener = getChangeListener();
if (null != listener)
listener.fieldChanged(this, 1);
}
return super.touchEvent(message);
}
}
Но проблема в том, что только прозрачная часть изображения может сфокусироваться, и я обновляю этот растровый файл до создания TouchBitmapField, и, как вы, возможно, знаете, что изменение размера растрового изображения удаляет прозрачную часть и заменяет ее черным. Я попробовал этот класс http://www.patchou.com/2010/10/resizing-transparent-bitmaps-with-the-blackberry-jde/, чтобы изменить размер изображения, но у меня есть 25 изображений на моем экране, и это неэффективно. Любая идея, как сделать границу на изображении? Любой эффективный способ рисования границы в методе drawFocus(Graphics g, boolean on)
?