Ich habe Schauspieler, die ich bewegen muss, wenn die Tastatur sichtbar wird (Wenn ich eine TextField
drücke), oder sie stecken dahinter. Ich mache das, indem ich die Kamera hochfahre:LibGdx: Bewegen Sie die Kamera mit der Tastatur sichtbar, erfassen Android BACK-Taste
stage.getViewport().getCamera().position.set(stage.getWidth()/2, stage.getHeight()/3, 0);
stage.getViewport().getCamera().update();
Das funktioniert gut. Es funktioniert auch gut, ihn zu bewegen zurück, wenn ich etwas außerhalb des TextField
berühren und rufen stage.unfocusAll();
Mein Problem ist, wenn ich in einer TextField
und drücken Androids Zurück-Taste bin, ist es mit der Tastatur versteckt, aber nicht nennen Sie den Code ich habe in der Inputprocessor (DIESER CODE CAPTURES bACK-TASTE IMMER AUSSER wenn sie in einem Textfeld und Tastatur zu sehen ist):
InputProcessor backProcessor = new InputAdapter() {
@Override
public boolean keyDown(int keycode) {
if ((keycode == Input.Keys.ESCAPE) || (keycode == Input.Keys.BACK))
{
moveBack();
}
return false;
}
};
ich sah mich um und las, dass es nicht möglich ist, die back-Taste zu fangen, wenn in einem TextField
. Was führt mich zu meinen Fragen:
- Dies muss ein häufiges Szenario sein (bewegte UI mit der Tastatur arbeiten), wie machen es andere Leute?
- Wenn andere Leute mich mögen (Kamera bewegen), wie gehst du mit der Android-Taste?
EDIT: Diese answer fängt die Back-Taste gedrückt, während in einem TextField
, aber es hat im Android Launcher getan werden, also kann ich die Elemente nicht erreichen Ich brauche zu erreichen. Ich überschreibe auch alle anderen Aufrufe der BACK-Taste aus dem LibGdx-Projekt.