2009-09-30 38 views
17

Creé un formulario de usuario que se ajusta a la ventana en orientación vertical. Cuando el usuario desliza el teclado, el formulario no se ajusta a la pantalla (orientación horizontal). Traté de agregar la barra de desplazamiento, pero no está visible.Android: ¿Cómo mostrar automáticamente la barra de desplazamiento vertical?

Agradecería que alguien pudiera mostrar cómo modificar el siguiente archivo de diseño para mostrar la barra de desplazamiento cuando la orientación se establece en horizontal.

Gracias!

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:orientation="vertical" 
    android:scrollbars="vertical" 
    android:scrollbarAlwaysDrawVerticalTrack="true"> 
     ... 
    </LinearLayout> 

Respuesta

40

Elimina los atributos de barra de desplazamiento y envuelve todo en un ScrollView.

15

No puede reemplazar el LinearLayout con ScrollView porque ScrollView solo admite Direct Child y LinearLayout puede tener muchos. Entonces la única opción que veo es ajustar

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:overScrollMode="always" 
     android:isScrollContainer="true" 
     android:scrollbarAlwaysDrawVerticalTrack="true" 
     android:scrollbarStyle="outsideInset" 
     android:scrollbars="vertical"> 

Puede elegir una variedad de otros atributos. Esto funcionó para mi implementación. Es el primer contenedor de mi diseño. LinearLayout es un elemento secundario de este contenedor. Otros elementos de interfaz de usuario son parte de LinearLayout

Espero que esto ayude ... Alex

+0

@VikasGupta tiene dos opciones para it.First a través de programación es decir, utilizando el siguiente código: -InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (editTextField.getWindowToken(), 0); también a través de Manifest File su solución se logrará utilizando el siguiente código: -android: windowSoftInputMode = "stateHidden". Creo que esto le ayudará mucho en el futuro. –

Cuestiones relacionadas