Android Material Design NestedScrollView / CollapsingToolbarLayout seltsames Verhalten beim Öffnen der Tastatur

8

Ich habe versucht, das nette cheesesquare-Projekt zu verwenden, um ein Material scrollbares Formular in android zu implementieren

Ссылка

Wenn ich jedoch versuche, einen EditText zu NestedScrollView hinzuzufügen, scheint sich die Toolbar zu lösen (funktioniert im Fall ohne Eingabe nicht wie erwartet), wenn das Keyboard geöffnet wird.

Hier ist mein Layout

%Vor%

Wie Sie sehen können, habe ich nur

hinzugefügt %Vor%

Irgendein Vorschlag / Hack, um die Toolbar beizubehalten?

    
wildnove 29.01.2016, 09:36
quelle

7 Antworten

4

Zuerst müssen Sie android:windowSoftInputMode="stateHidden|adjustResize" in Ihrem <activity> -Tag hinzufügen. Dann sehen Sie, dass Ihr Verhalten korrekt funktioniert, aber Sie können den NestedScrollView nicht vollständig nach unten scrollen. Um das zu erreichen

Zweitens müssen Sie diese Klasse zu Ihrem Projekt hinzufügen:

%Vor%

Drittens müssen Sie diese Klasse in CheeseDetailActivity verwenden:

%Vor%

Dann sollte es wie ein Zauber wirken.

Schließlich , wenn Sie möchten, dass Ihr NestedScrollView zu Ihrem EditText gescrollt wird, sobald es den Fokus hat, sollten Sie android:focusableInTouchMode="true" zum übergeordneten LinearLayout hinzufügen von EditText , und nächste Zeilen zu deinem onCreate :

%Vor%

Ich hoffe, es hilft!

    
rom4ek 12.02.2016 07:14
quelle
4

Wir haben verschiedene Möglichkeiten, um die Tastatur stat zu erhalten:

In der AndroidManifest.xml :

%Vor%

ODER

%Vor%     
pRaNaY 14.02.2016 17:25
quelle
3

füge android hinzu: focusableInTouchMode="fasle" auf deinem Eltern-Layout von editiertext kannst du das auch programmatisch machen auf scoll kannst du den Fokus von edittext entfernen.

    
piyush poriya 10.02.2016 08:02
quelle
3

Versuchen Sie es mit den Attributen android:focusable="false" und android:focusableInTouchMode="true" in einer TextView oder einer anderen Ansicht, die Sie vor diesem EditText zur Stammansicht hinzugefügt haben. Ich denke, nachdem die Aktivität erstellt wurde, geht der Fokus direkt auf diesen Editiertext. Wenn Sie also den Fokus auf andere Ansichten richten (die vor EditText in XML hinzugefügt wurden), führt dies nicht zu dem obigen Verhalten.

Wenn dies für Sie funktioniert, dann akzeptieren Sie dies bitte als Antwort.

BEARBEITEN : Verwenden Sie den folgenden Code in Ihrem XML

%Vor%

Danke

    
Aziz 29.01.2016 10:04
quelle
3

Dies liegt daran, dass Ihr Text bearbeitet wird . Entfernen Sie es aus dem Fokus auf Aktion herunter und es sollte funktionieren. Implementieren Sie daher View.OnTouchListener . Dann

%Vor%

und

%Vor%     
Vaibhav Sharma 15.02.2016 21:19
quelle
2

Können Sie versuchen, dem Symbolleistenlayout eine Mindesthöhe zu geben:

%Vor%     
Damanpreet Singh 11.02.2016 17:21
quelle
0

füge dies in deiner AndroidManifest.xml hinzu android: windowSoftInputMode="stateAlwaysHidden | adjustResize"

    
Osvaldo Bringaz 16.02.2016 06:35
quelle