Mueve el diseño hacia arriba cuando se muestra el teclado virtual
Estoy tratando de ajustar el diseño cuando aparece el teclado virtual después de que se enfoca un texto de edición. En este momento, si tengo muchos textos de edición y aparece el teclado, el último texto de edición está oculto y no puedo desplazarme hacia arriba.
Así es como se construye mi diseño:
Modelo:
<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>
Vista (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>
Ya pruebo todo tipo de combinaciones deandroid:windowSoftInputMode
(en manifest.xml y mediante programación). Traté de establecerandroid:isScrollContainer="false"
en la vista de desplazamiento, pero nada.
También probé estoresponder, poniendo un GlobalLayoutListener en mi vista de desplazamiento, pero onGlobalLayout no se llama cuando aparece el teclado. Y elisKeyboardShown
siempre es falso