黑莓学习笔记之一----进度条
最近突然想把自己公司的项目移植到黑莓上来,因为听说黑莓的app挺少的,而且黑莓开发貌似比较繁琐,不如android和iPhone的便捷,反正闲着没事,就买了本书,找了点资料开始学习学习。学一点记录一点吧。
一般项目里最一开始都会有一个进度条加载,然后是主界面或者是登录界面,那就先看看这个进度条是怎么做的。
package mypackage;import net.rim.device.api.ui.component.GaugeField;import net.rim.device.api.ui.component.LabelField;import net.rim.device.api.ui.container.PopupScreen;import net.rim.device.api.ui.container.VerticalFieldManager;public class GaugeScreen extends PopupScreen {public GaugeScreen(){super(new VerticalFieldManager(), VerticalFieldManager.VERTICAL_SCROLL);add(new LabelField("Loading"));//public GaugeField(String label,int min,int max,int start,long style);GaugeField percentGauge = new GaugeField("",0,100,0,GaugeField.PERCENT);add(percentGauge);}// TODO Auto-generated constructor stub}}
package mypackage;import net.rim.device.api.ui.UiApplication;import net.rim.device.api.ui.component.GaugeField;import net.rim.device.api.ui.container.PopupScreen;public class UpdaterThread extends Thread {PopupScreen screen;int i;public UpdaterThread(PopupScreen screen){this.screen = screen;}public void run(){for(i = 0;i<100;i++){try{Thread.sleep(1000);}catch(Exception e){e.printStackTrace();}UiApplication.getUiApplication().invokeLater(new Runnable() {public void run() {// TODO Auto-generated method stubGaugeField Gauge = (GaugeField) screen.getField(1);Gauge.setValue(i);}});}}}
protected void makeMenu(Menu arg0, int arg1) {// TODO Auto-generated method stubMenuItem newItem = new MenuItem("Build", 100, 10){public void run(){GaugeScreen screen = new GaugeScreen();UiApplication.getUiApplication().pushScreen(screen);UpdaterThread thread = new UpdaterThread(screen);thread.start();}};arg0.add(newItem);super.makeMenu(arg0, arg1);}