Verfügt über einen EditText über eine Softtastatur mit einer GL-Ansicht im Hintergrund programmgesteuert

8

Ich arbeite an einem Spiel und ich möchte eine EditText-Position über der Soft-Tastatur, wenn es erscheint.

So sieht mein Code aus, wenn ich die Ansichtshierarchie in meiner Hauptaktivität erstelle:

%Vor%

Hier ist meine AndroidManifest.xml (der Teil der Angelegenheiten):

%Vor%

Zusätzliche Informationen:

  • GameView = ist ein GLSurfaceView
  • GameEditText = ist ein EditText
  • Wenn ich die erste Zeile auskommentiere (getWindow (). addFlags ...) Dann schwenkt die Spielansicht nach oben und die Ansicht ist nicht sichtbar, es sei denn ich fange an Dinge zu tippen.
  • Wenn diese erste Zeile verlassen wird, wird das Feld nicht verschoben, aber das editText-Feld wird nicht nach oben verschoben und die Tastatur deckt das editText-Feld
  • ab

Irgendwelche Vorschläge?

Hier sind einige tolle Screenshots:

Spiel keine Tastatur:

Spiel mit Tastatur und WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS set (wie es im Monitor aussieht, um die Ebenenhierarchie anzuzeigen):

Spiel mit Tastatur und diesen Flaggen NICHT gesetzt.

Hier ist die gewünschte Ausgabe:

    
Daniel Miya 17.12.2014, 23:34
quelle

2 Antworten

-1

Fügen Sie Editbox als übergeordnetes Basiselement hinzu.

%Vor%

und in der Manifestdatei machen Sie den Soft-Input adjustResize/Pan

%Vor%

"adjustResize": Das Hauptfenster der Aktivität wird immer in der Größe angepasst, um Platz für die Bildschirmtastatur zu schaffen.

"adjustPan": Das Hauptfenster der Aktivität wird nicht verkleinert, um Platz für die Soft-Tastatur zu schaffen. Stattdessen wird der Inhalt des Fensters automatisch verschoben, so dass der aktuelle Fokus niemals von der Tastatur verdeckt wird und Benutzer immer sehen können, was sie gerade schreiben. Dies ist im Allgemeinen weniger wünschenswert als die Größenanpassung, da der Benutzer möglicherweise die Soft-Tastatur schließen muss, um sich mit verdeckten Teilen des Fensters zu befassen und mit diesen zu interagieren.

Überprüfen Sie das für mehr

    
SimpleGuy 01.01.2015 11:53
quelle
-1

In Manifest hinzufügen

android: windowSoftInputMode="adjustPan"

Es wird automatisch Ihre Tastatur unter Ihrem editiertext

einstellen     
Mehul 03.06.2016 10:37
quelle