2016-04-19 5 views
0

Ich habe einen Editiertext in meinem Fragment. Um zu verhindern, Soft-Tastatur aus Drücken meiner Sicht bis ich versuchteWie verhindere ich, dass die Soft-Tastatur meine Ansicht in einem Fragment verschiebt?

android:windowSoftInputMode="adjustPan" 
android:windowSoftInputMode="adjustNothing" 

und programmatisch habe ich versucht onResume und oncreateview Methoden des Fragments

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); 

Above Techniken nicht funktionierte. Aber wenn ich setze Scroll als Stammansicht in Fragmente und setzte android: isScrollContainer = „false“ Eigenschaft dann über Methoden arbeiten ... Wie kann ich es ohne Scroll-Ansicht funktioniert

+1

Ich glaube nicht, 'softInputMode' ohne Scrollview arbeitet –

+0

ohh .. dann, wie es zu tun? –

+0

müssen Sie in scrollview behalten –

Antwort

1

verwendet in onCreateView () des Fragments getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)

+0

Ich habe es versucht. hat nicht funktioniert. –

+0

Ich habe SOFT_INPUT_ADJUST_NOTHING auch versucht aber keine Verwendung –

0

Auch etwas zu prüfen, überprüfen Sie, wenn Ihre Fragmente DialogFragments sind. Wenn ich das Fenster von DialogFragment öffne und dann die Soft-Eingabe ändere, wurde mein Problem gelöst, wo die anderen Lösungen nicht waren.

Ein Dialog ist ein kleines Fenster, das den Benutzer auffordert, eine Entscheidung zu treffen oder zusätzliche Informationen einzugeben. Ein Dialog füllt den Bildschirm nicht aus und wird normalerweise für modale Ereignisse verwendet, die erfordern, dass Benutzer eine Aktion ausführen, bevor sie fortfahren können.

Quelle: https://developer.android.com/guide/topics/ui/dialogs.html

aber sagen, dass DialogFragment die haben ihre eigenen Fenster, indem Sie folgendermaßen vorgehen in Ihrem onCreateDialog Verfahren eingestellt werden kann.

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 

    Dialog dialog = // instantiate your dialog 

    //Get your dialog's window 
    Window window = dialog.getWindow(); 

    if (window != null) { 
     dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); 
    } 

    return dialog; 
} 
Verwandte Themen