Во-первых, BitmapField по умолчанию не фокусируется, поэтому вам нужно создать подкласс и переопределить isFocusable, чтобы это исправить.Затем переопределите навигацию, щелкните, чтобы запустить событие fieldChanged.Фрагмент кода для минимального поля:
import net.rim.device.api.ui.component.BitmapField;
public class ClickableBitmapField extends BitmapField {
public boolean isFocusable() {
return true;
}
protected boolean navigationClick(int status, int time) {
fieldChangeNotify(0);
return true;
}
}
В дополнение к этому, вы можете указать, когда ваше поле находится в фокусе (если только вам не нужны устройства с сенсорным экраном).Реализация по умолчанию просто выделит любые прозрачные области вашего растрового изображения.Вы можете изменить это, переопределив drawFocus и, возможно, onFocus и onUnfocus, чтобы изменить растровое изображение, отображаемое при изменении состояния фокуса.