487 Stimmen

Android: Wie verhindere ich, dass die Soft-Tastatur meine Ansicht nach oben schiebt?

Ich habe eine vertikale Schiebeschublade am unteren Rand meiner App. Wenn die Softtastatur geöffnet wird, schiebt sie die Registerkarte für die Schublade nach oben, so dass sie über der Tastatur sitzt. Ich möchte eigentlich, dass es am unteren Rand des Bildschirms bleibt und ausgeblendet wird, wenn die Tastatur angezeigt wird.

Ist noch jemand auf dieses Problem gestoßen? Weiß jemand, wie man es beheben kann?

2voto

In meinem Fall brauchte ich die Tastatur, um versteckt zu bleiben, und direkt nach dem Klick auf die Schaltfläche muss mein Layout angepasst werden, also fügte ich einfach diesen Befehl in das Manifest ein und es klappte super.

android:windowSoftInputMode="stateHidden|adjustResize"

2voto

Saljith Kj Punkte 115

Keine von ihnen hat bei mir funktioniert, versuchen Sie diese

 private void scrollingWhileKeyboard() {
    drawerlayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {

            Rect r = new Rect();
            try {
                drawerlayout.getWindowVisibleDisplayFrame(r);
                int screenHeight = drawerlayout.getRootView().getHeight();
                int keypadHeight = screenHeight - r.bottom;
                if (keypadHeight > screenHeight * 0.15) {
                    tabLayout.setVisibility(View.GONE);
                } else {
                    tabLayout.setVisibility(View.VISIBLE);
                }
            } catch (NullPointerException e) {

            }
        }
    });

}

2voto

Hakim Khan Punkte 307

Wenn Sie die Ansicht beim Öffnen der Tastatur ausblenden möchten.

Fügen Sie Folgendes in Ihre Activity in der Manifestdatei ein

android:windowSoftInputMode="stateHidden|adjustPan"

1voto

Ramzan Punkte 181

Es gibt zwei Möglichkeiten, dieses Problem zu lösen. Gehen Sie zur AndroidManifist.xml und fügen Sie im Namen Ihrer Aktivität diese Zeile hinzu

   android:windowSoftInputMode="adjustPan"

Wie im nachstehenden Code habe ich die Aktivität Registrieren hinzugefügt.

 <activity android:name=".Register"
            android:windowSoftInputMode="adjustPan">

Bei der zweiten Möglichkeit gehen Sie zu Ihrer Aktivität und fügen in Ihrer onCreate-Methode diesen Code ein.

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

1voto

Juan Mendez Punkte 2498

@manifest in Ihrer Aktivität:

android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X