Déplacez mise en place lorsque le clavier virtuel est affiché

Je suis en train de régler la mise en page lorsque le clavier apparaît après une modification de texte reçoit le focus. Pour l'instant, si j'ai beaucoup d'éditer le texte et le clavier s'affiche, la dernière édition de texte sont cachés et je ne peux pas faire défiler jusqu'à.

C'est ainsi que ma mise en page est bâtie:

Modèle:

<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>

Vue (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>

J'ai déjà essayer toutes sortes de combinaisons de android:windowSoftInputMode (sur manifest.xml et par programme). J'ai tenté de android:isScrollContainer="false" sur le défilement de l'affichage, mais rien.

J'ai aussi essayé cette réponse, mettant GlobalLayoutListener dans ma défilement de l'affichage, mais le onGlobalLayout n'est pas appelé lorsque le clavier apparaît. Et le isKeyboardShown est toujours faux.

OriginalL'auteur lpfx | 2015-01-19