Ich habe ein Layout mit einigen Ansichten, von denen eine EditText ist. Das Layout passt problemlos auf eine Seite, ABER, wenn die Soft-Tastatur deaktiviert ist, scrollt das Layout nicht. Hier ist eine Zusammenfassung meines Layouts:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@drawable/background" >
<ScrollView
Android:id="@+id/ScrollView1"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_alignParentTop="true" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical" >
<CheckBox/>
<TextView/>
<LinearLayout>
<EditText>
<requestFocus />
</EditText>
</LinearLayout>
<TextView/>
<LinearLayout>
<Spinner/>
</LinearLayout>
</LinearLayout>
</ScrollView>
<Button
Android:layout_alignParentBottom="true" />
</RelativeLayout>
Und in meinem Manifest habe ich das Attribut erklärt:
Android:windowSoftInputMode="adjustResize|stateHidden"
Weiß jemand, warum es nicht funktioniert und wie man sicherstellt, dass es funktioniert?
Danke im Voraus!
Okay, anscheinend darf der Android:layout_height
der ScrollView nicht auf wrap_content
gesetzt sein. Ich habe es auf match_parent
gesetzt und den Android:layout_above
auf die Schaltfläche am unteren Rand der Seite.
Fragen Sie mich nicht warum, aber das Problem wurde behoben.
Ich hatte das gleiche Problem und überprüfte meine Aktivität im Manifest. Der Grund, warum es nicht funktionierte, ist, dass ich diese Eigenschaft nicht verwendet habe:
Android:windowSoftInputMode="adjustResize"
Jetzt funktioniert es hervorragend und es müssen keine zusätzlichen Anker gemacht werden.
In meinem Fall funktionierte nichts davon.
Ich hatte item name="Android:windowTranslucentStatus">true</item>
in meinem Thema. Es wurde behoben, indem Android:fitsSystemWindows="true"
im übergeordneten Layout festgelegt wurde, wo sich meine Bildlaufansicht befindet.
Fügen Sie Android:windowSoftInputMode="stateHidden|adjustResize"
zu Ihrem Tag in der Datei AndroidManifest.xml hinzu. Dies bewirkt, dass die Bildschirmgröße nach dem Anzeigen der Soft-Tastatur nach links über dem Leerzeichen geändert wird. So können Sie problemlos scrollen.
Versuchen Sie, ScrollView als übergeordnetes Layout festzulegen. Es funktioniert wie ein Zauber für mich!
Mein Problem war mit einer HorizontalScrollView. In meinem Fall musste ich HorizontalScrollView auf Folgendes einstellen:
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Und entferne:
Android:layout_above="@+id/closeButton"
Android:layout_below="@+id/logo"
In der AndroidManifest.xml ist die Aktivität auf Folgendes eingestellt:
Android:windowSoftInputMode=""
Ich hoffe, das hilft jedem, der durch diesen seltsamen Fehler kommt.
In meinem Fall funktioniert eine der obigen Lösungen erst, wenn ich ENTFERNE
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
in meiner Aktivität verwende ich diesen Code, um eine Vollbildanzeige zu erhalten. Versuchen Sie in bestimmten Fällen möglicherweise, alle Einstellungen für den Vollbildmodus zu entfernen, damit die oben genannte Lösung funktioniert.