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?
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:
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
:
Ich hoffe, es hilft!
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.
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
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%Können Sie versuchen, dem Symbolleistenlayout eine Mindesthöhe zu geben:
%Vor%füge dies in deiner AndroidManifest.xml hinzu android: windowSoftInputMode="stateAlwaysHidden | adjustResize"
Tags und Links android collapsingtoolbarlayout material-design