在我的應用程序中,我有一個BrowserField2加載不同的頁面,我想顯示一個簡單的旋轉進度條/指標。儘可能簡單,沒有百分比等 - 只是一個小動畫,以指示用戶正在發生的事情。BrowserField2黑莓簡單進度條
我來自Android開發,那裏有一種叫Progressbar的東西,雖然對於Blackberry來說,它可能被稱爲完全不同的東西? (Blackberry的Progressbar似乎總是包括計算所取得的進展)。
我該找什麼?
在我的應用程序中,我有一個BrowserField2加載不同的頁面,我想顯示一個簡單的旋轉進度條/指標。儘可能簡單,沒有百分比等 - 只是一個小動畫,以指示用戶正在發生的事情。BrowserField2黑莓簡單進度條
我來自Android開發,那裏有一種叫Progressbar的東西,雖然對於Blackberry來說,它可能被稱爲完全不同的東西? (Blackberry的Progressbar似乎總是包括計算所取得的進展)。
我該找什麼?
我以一種相當非正統的方式解決了這個問題,我可能不會推薦任何人,但我會寫它,因爲它可能會幫助那些急於完成任務的人。請記住,這是一個不好的做法。
我的應用程序基本上由4個按鈕和一個browserfield組成。
要顯示一個旋轉的「加載動畫」我用一個browserfieldlistener觸發定製PopupScreen的alishaik786的尖端(見他的評論):
// 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);
}
});
}
然後在我的自定義PopupScreen我檢查其中用戶點擊「protected boolean touchEvent(TouchEvent event)」,方法是檢查touch的event.getGlobalY()& event.getGlobalX()並將其與按鈕的位置進行比較。如果用戶按下某個按鈕的X &,那麼彈出窗口關閉,我觸發正在按下的按鈕。
正如我所說這是一個不好的方法(許多事情需要靜態),但它的作品,如果你想要一個快速和骯髒的溶劑。
您可能需要一個gif圖像;並創建一個彈出窗口,並在那你喜歡這個鏈接:http://stackoverflow.com/questions/7605919/loading-gif-image-on-above-bitmap-field-in-blackberry/7606108#7606108我發佈和在那個彈出的屏幕上拿一個像「Please wait」一樣的labelfield並添加到它; – alishaik786
謝謝,唯一的問題是,這會阻止用戶界面。 – DecodeGnome
嗯,我想我可以寫一個答案並接受它,但我會以某種方式解決此問題,以便小動畫不會阻止整個用戶界面。對解決方案還不滿意。 – DecodeGnome