Android: Hintergrund-Bild Größe ändern auf pop-up-Tastatur
Bin ich eine Anwendung entwickeln, in dem das Hintergrundbild erhalten, schrumpfen Sie auf die Tastatur-pop-up. Meine .xml ist wie folgt :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:facebook="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
/**
Other stuff
*/
</RelativeLayout>
</ScrollView>
</RelativeLayout>
Ich suchte auf Google und fand, dass, hinzufügen
android:windowSoftInputMode="stateVisible|adjustPan"
in meiner manifest Datei. Aber seine keine Verwendung.
Edit :
Mein Layout, bevor ein Schlüssel-Brett pop-up sieht wie folgt aus :
- Und nach pop-up wie:
Bitte überprüfen Sie die Differenz in hintergrund Bild. In Bild 1 Bild in der Größe und in Bild 2 im hintergrund Bild verkleinern-ed. Ich brauche die Fußzeile und hintergrund bekommen, aufwärts auf der Tastatur popup.
Was ich bin fehlt oder falsch bitte schlagen Sie mich.
adjustPan
sollte genau das tun, was Sie brauchen ("Die Tätigkeit ist Haupt-Fenster nicht in der Größe verändert, um Platz für die virtuelle Tastatur. Vielmehr ist der Inhalt des Fensters wird automatisch geschwenkt"), siehe docs. Welches problem haben Sie mit ihm?- Diese Frage ist ein Duplikat der this.
- warum spielst du nicht das Bild auf dem hintergrund der scrollview ? oder erstellen Sie eine Bildansicht ohne Beziehung, füllt den ganzen Platz auf dem Bildschirm und legen Sie es als hintergrund, weil seine relatvielayout.
- Bitte fügen Sie den Screenshot mit deinem problem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nutzen Sie einfach in Ihrem
onCreate()
diesem code:und beseitigen Sie diese Zeile in der xml:
Lesen Sie mehr unter:
Hatte ich Stand vor dem ähnlichen Problem mal, bei mir war gelöst, indem Sie die unten angegebenen Eigenschaften in manifest-verwenden Sie es, wo Sie Ihre Aktivität deklariert ist.
stateHidden
TeilOk, wenn ich deine Frage richtig, du willst ein layout mit einem hintergrund und einer scrollview. Und wenn das softkeyboard erscheint, dessen Größe Sie ändern möchten die scrollview, aber halten Sie den hintergrund in voller Größe, richtig?
wenn es das ist, was Sie wollen, als ich fand eine Abhilfe für dieses Problem:
Was Sie kann machen 2 Aktivitäten.
Aktivität 1:
Activity2:
start-layout:
Dialogfeld layout:
AndroidManifest.xml
start Aktivität:
dialog Aktivität
Edit:
Fertig Tätigkeiten auf einmal, verwenden Sie das folgende irgendwo in Ihrem DialogActivity (Beispiel: überschreiben Sie die Schaltflächen "backbutton"):
und in
onCreate()
von StartActivity:Screenshots!
Normalen
Anklicken des EditText-box
Nach nach unten Gescrollt (ps: ich habe die textbox innerhalb scrollview das ist, warum ist Sie Weg 😉 )
Ich hoffe, dass dies helfen wird, Ihre aus 😉
Hey kannst du bitte versuchen Sie, diese
in Ihrem ScrollView. Es hat mein problem gelöst einmal. Helfen könnte u zu.
Auch, fügen Sie diese auf Ihre Tätigkeit in manifest.xml
Hoffe es hilft..!! 🙂
Ich hatte das gleiche Problem.
Fügen Sie Ihre äußere layout-hintergrund im onCreate-Methode, wie unten dargestellt
und fügen Sie Ihre äußere layout als
Hinzufügen
android:layout_weight="1"
für das äußere layout und nicht den hintergrund in xml-DateiIch denke, das hilft jemand
Sollten Sie das
android:background="@drawable/background"
in einemImageView
obenScrollView
. Wenn die Bildschirmtastatur erscheint es effectivly macht den Bildschirm kleiner ist, und mit einem Bild als hintergrund, die Sie haben keine Kontrolle darüber, wie es ist verkleinert/beschnitten.Also, wenn Sie wollen, um das Bild in voller Breite aber halten Sie die ascpect Verhältnis versuchen Sie dies:
Können Sie versuchen, verschiedene
android:scaleType
Werte zu erreichen den gewünschten Effekt zu erzielen. Wenn Sie möchten, dass das Bild beschnitten werden von der Spitze statt der standardmäßigen mittleren Ernte, siehe hier, wie Sie diese erreichen, oder versuchen Sie es mit diese BibliothekÜberprüfen diese Antwort, der grundlegende trick ist, dass Sie nicht den hintergrund, um das layout, sondern zum Fenster. Diese kann getan werden, aus der Tätigkeit mit
getWindow().setBackgroundDrawable()
, oder Sie können es in ein Thema, um Ihre Aktivitäten.Statt
android:windowSoftInputMode="stateVisible|adjustPan"
sollten Sie ändern, umandroid:windowSoftInputMode="stateVisible|adjustResize"
. Es funktionierte für mich.Verwenden ScrollView als Top Elternteil.
Es wird gescrollt, nach oben und unten automatisch beim öffnen und schließen der Tastatur.
Nicht warum Sie dies so tun
Sollten Sie die
adjustResize
option für diewindowSoftInputMode
Einstellung auf dieActivity
in IhremAndroidManifest.xml
Datei.ich bin mit unten Ansicht bietet und seine arbeiten gut für mich: