Я пытаюсь адаптировать часть существующего кода. Я пытаюсь убрать таймер на заставке
экран и измените его на «нажмите любую клавишу, чтобы продолжить» типа экрана. Мне нужна помощь с логикой push / popscreen и прослушиванием нажатия клавиш на заставке. Вот выдержка из кода.
public class MenuMain_Pca extends UiApplication {
public static void main(String[] args) {
MenuMain_Pca myStart = new MenuMain_Pca();
myStart.enterEventDispatcher();
}
public MenuMain_Pca() {
Screen_Splash_Screen wScreen = new Screen_Splash_Screen();
this.pushScreen(wScreen);
this.popScreen(wScreen);
MenuMain_Pca.this.pushScreen(new HomeScreen());
}
}
class Screen_Splash_Screen extends MainScreen implements KeyListener {
public Screen_Splash_Screen() {
super(DEFAULT_MENU | DEFAULT_CLOSE);
Bitmap b240 = new Bitmap(240, 163);
b240 = Bitmap.getBitmapResource("image1.png");
BitmapField bf = new BitmapField(b240);
bf.setSpace(Display.getWidth() / 2 - b240.getWidth() / 2, 0);
add(bf);
}
public boolean keyChar(char key, int status, int time) {
return true;
}
public boolean keyDown(int keycode, int time) {
return true;
}
public boolean keyRepeat(int keycode, int time) {
return true;
}
public boolean keyStatus(int keycode, int time) {
return true;
}
public boolean keyUp(int keycode, int time) {
return true;
}
}
class HomeScreen extends MainScreen implements FieldChangeListener {
private ButtonField button1 = null;
public HomeScreen() {
super(DEFAULT_MENU | DEFAULT_CLOSE);
setTitle(new LabelField("label1", LabelField.ELLIPSIS
| LabelField.USE_ALL_WIDTH));
int screenWidth = Display.getWidth() * 95 / 100;
button1 = new ButtonField("Button1");
button1.setChangeListener(this);
add(button1);
}
public void fieldChanged(Field field, int context) {
if (field == (Field) button1)
UiApplication.getUiApplication().pushScreen(new menu1(1));
}
// ask user if he really wants to leave...
public boolean onClose() {
boolean retval = false;
String label = "Are you sure you want to Exit now?";
int response = Dialog.ask(Dialog.D_YES_NO, label, Dialog.YES);
if (response == Dialog.YES) {
System.exit(0);
retval = true;
}
return retval;
}
}