BlackBerry - как занять полную кнопку с изображением - PullRequest
1 голос
/ 22 декабря 2010

Я написал код BlackBerry для добавления изображения в ButtonField. Я хочу, чтобы вся кнопка была занята изображением, но изображение не отображается полностью на ButtonField. В верхней, левой и правой частях кнопки много полей. Я пытался использовать мобильный телефон, но это не сработало.

Как уменьшить ширину и высоту ButtonField, чтобы он соответствовал исходному размеру изображения 41 x 41?

1 Ответ

5 голосов
/ 22 декабря 2010

Вместо добавления изображения к кнопке расширьте класс изображения и превратите его в кнопку, переопределив isFocusable (), navigationClick (), trackwheelClick () и keyChar ().Вот код:

public class ImageButtonField extends BitmapField
{
    public ImageButtonField(Bitmap image) {
        super(image);
    }

    public boolean isFocusable() {
        return true;
    }

    protected boolean navigationClick(int status, int time) {
        fieldChangeNotify(0);
        return true;
    }

    protected boolean trackwheelClick(int status, int time) {
        fieldChangeNotify(0);
        return true;
    }

    protected boolean keyChar(char character, int status, int time) {
        if(Characters.ENTER == character || Characters.SPACE == character) {
            fieldChangeNotify(0);
            return true;
        }
        return super.keyChar(character, status, time);
    }
}
...