Blackberry простой прогрессбар для BrowserField2 - PullRequest
0 голосов
/ 24 января 2012

В моем приложении у меня есть BrowserField2, загружающий разные страницы, и я хочу показать простой вращающийся индикатор выполнения. На самом деле настолько просто, насколько это возможно, без процентов и т. Д. - просто небольшая анимация, чтобы указать пользователю, что что-то происходит.

Я пришел из разработки для Android, и там есть такая вещь, как Progressbar, хотя для Blackberry она может называться чем-то совершенно другим? (Progressbar для Blackberry, кажется, всегда включает в себя вычисление достигнутого прогресса).

Что я должен искать?

1 Ответ

1 голос
/ 26 января 2012

Я решил это довольно неортодоксальным способом, что я, вероятно, не рекомендовал бы НИКОМУ, но я все равно напишу это, так как, возможно, это поможет кому-то, кто спешит, сделать это. Просто помните, что это плохой способ сделать это.

Мое приложение в основном состоит из 4 кнопок и поля браузера.

Чтобы отобразить вращающуюся «загрузочную анимацию», я использую подсказку alishaik786 (см. Его комментарии) настраиваемого PopupScreen, запускаемого браузером fieldlistener:

// BrowserFieldListener to catch when a page started loading and when it is finished
                BrowserFieldListener listener = new BrowserFieldListener() {

                            public void documentCreated(BrowserField browserField, ScriptEngine scriptEngine, Document document) throws Exception{
                                displayLoadAnimation(); 
                               // see method below
                            }           

                            public void documentLoaded(BrowserField browserField, Document document) throws Exception{
                                try{
                                    popUp.close();
                                }catch(IllegalStateException es){
                                    es.printStackTrace();
                                }
                            }
                        };

            // The method for showing the popup
            private void displayLoadAnimation(){

                    popUp = new LoadingPopupScreen();

                    UiApplication.getUiApplication().invokeLater(new Runnable() {
                        public void run() {
                            UiApplication.getUiApplication().pushScreen(popUp);
                        }
                    });
                }

Затем в своем пользовательском всплывающем экране я проверяю, где пользователь щелкает в «защищенном логическом touchEvent (событие TouchEvent)», проверяя касание event.getGlobalY () & event.getGlobalX () и сравнивая его с позициями кнопок. , Если пользователь нажимает в пределах X & Y кнопки, всплывающий экран закрывается, и я нажимаю кнопку, которая нажимается.

Как я уже сказал, это плохой способ сделать это (многие вещи должны быть статичными), но он работает, если вы хотите быстрое и грязное решение.

...