Как получить изображения в BlackBerry и установить слушателя onClick? - PullRequest
0 голосов
/ 05 сентября 2011

Я довольно новичок в программировании Blackberry и мне было интересно, если кто-нибудь знает учебник или фрагмент о том, как загрузить изображение на экран и настроить его на прослушиватель onClick?

изменить, получил это далеко:

ButtonField btf1 = new ButtonField("Fine!");
ButtonField btf2 = new ButtonField("Great!");
RichTextField rtf = new RichTextField("HELLO, HOW ARE YOU?");

Bitmap LOGO = Bitmap.getBitmapResource("1.png");
BitmapField LogoBmpField = new BitmapField(LOGO);

HelloWorldScreen()
{        
    setTitle("My First App");
    add(rtf);
    add(btf1);
    add(btf2);
    add(LogoBmpField);
}

Спасибо!

edit: кстати, как сделать интерфейсы для blackberry? просто

ButtonField btf1 = new ButtonField("Fine!");
add(btf1);

Или есть какой-то более видимый способ, например, в XML для Android?

Еще одна вещь, как изменить или установить свойства какого-либо объекта. Скажем, я хочу изменить заголовок моей кнопки - btf1 (ожидающий появления списка доступных свойств) ничего не дает.

Ответы [ 3 ]

2 голосов
/ 05 сентября 2011

Поместите свое изображение в папку res и попробуйте это;

Bitmap bmpLogo = Bitmap.getBitmapResource("yourImage.jpg");
BitmapField logo = new BitmapField(bmpLogo){
    protected boolean trackwheelClick(int status, int time)
    {   
        // Your onclick code here
        return true;
    }
};
add(logo);
1 голос
/ 06 сентября 2011

1) Вам нужно настроить фокусировку на BitmapField.

Я только что попробовал это:

    BitmapField LogoBmpField = new BitmapField(LOGO, BitmapField.FOCUSABLE) {
        protected boolean trackwheelClick(int status, int time) {   
            System.out.println(" -- You clicked me! ");
            return true;
        }
    };

и, похоже, работает.

2) Ичтобы изменить текст на кнопке, используйте setLabel ()

btf1.setLabel("new button text");
0 голосов
/ 23 января 2014
public class MyScreen extends MainScreen {

    public LanguageSelector() {

        Bitmap logoBitmap = Bitmap.getBitmapResource("normalarabflag.png");
        BitmapField LogoBmpField = new BitmapField(logoBitmap, BitmapField.FOCUSABLE | Field.FIELD_HCENTER) {
            protected boolean navigationClick(int status, int time) {   
                System.out.println(" -- You clicked me! ");
                UiApplication.getUiApplication().pushScreen(new SecoundScreen());
                Dialog.alert("Load Complete");
                return true;
            }
        };

        LabelField labelfield = new LabelField("Arabic ",Field.FIELD_HCENTER|LabelField.FOCUSABLE);

        VerticalFieldManager vrt=new VerticalFieldManager(USE_ALL_WIDTH) {

            protected void sublayout(int maxWidth, int maxHeight) {

                super.sublayout(Display.getWidth(),Display.getHeight());
                setExtent(Display.getWidth(),Display.getHeight());

            }
        };

        Font f=labelfield.getFont();
        int hight1=f.getAdvance(labelfield.getText());
        int k=labelfield.getPreferredHeight();

        int number=hight1/Display.getWidth()+1;
        int hight2=logoBitmap.getHeight();
        int padding=(Display.getHeight()-((number*k)+hight2))/2;

        if(padding>0) {
            LogoBmpField.setPadding(padding,0,0,0);
        }

        vrt.add(LogoBmpField);
        vrt.add(labelfield);

        add(vrt);
    }     
}
...