Layout nach oben schieben, wenn Softtastatur angezeigt wird

Ich versuche, das Layout anzupassen, wenn die Bildschirmtastatur angezeigt wird, nachdem ein bearbeiteter Text den Fokus erhalten hat. Im Moment, wenn ich viele Bearbeitungstexte habe und die Tastatur angezeigt wird, sind die letzten Bearbeitungstexte ausgeblendet und ich kann keinen Bildlauf durchführen.

So baut sich mein Layout auf:

Vorlage

<LinearLayout>
    <LinearLayout>
        // header 1
    </LinearLayout>
    <LinearLayout>
        // header 1
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:orientation="vertical">
        // where I inflate view_1
    </LinearLayout>
    <LinearLayout>
        // footer
    </LinearLayout>
</LinearLayout>

View (view_1):

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:focusable="true"
        android:focusableInTouchMode="true">
        <LinearLayout>
            // ...
        </LinearLayout>
        <LinearLayout>
            // ...
        </LinearLayout>
        <LinearLayout>
            <TextView/>
            <EditText/>
            <TextView/>
            <EditText/>
            <TextView/>
            <EditText/>
            <TextView/>
            <EditText/>
        </LinearLayout>
    </LinearLayout>
</ScrollView>

Ich probiere schon alle möglichen Kombinationen vonandroid:windowSoftInputMode (auf manifest.xml und programmgesteuert). Ich habe versucht, @ zu setzandroid:isScrollContainer="false" in der Scroll-Ansicht, aber nichts.

Ich habe auch versucht, dieseAntworte, Platzieren eines GlobalLayoutListener in meiner Bildlaufansicht, aber das onGlobalLayout wird nicht aufgerufen, wenn die Tastatur angezeigt wird. Und dieisKeyboardShown ist immer falsch.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage