WindowSoftInputMode y ScrollView

La actividad principal de la aplicación para Android es la siguiente:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background" android:orientation="vertical" > <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:fillViewport="true" android:orientation="vertical" android:paddingLeft="60dp" android:paddingTop="53dp" > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="fill_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/billAmountText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/billAmount_string" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/billAmount" android:layout_width="173dp" android:layout_height="wrap_content" android:layout_below="@id/billAmountText" android:layout_marginTop="3dp" android:inputType="numberDecimal" /> </RelativeLayout> </ScrollView> </RelativeLayout> 

Para asegurarse de que la imagen de fondo (definida en el primer RelativeLayout) no se exprime cuando el teclado aparece, he establecido android:windowSoftInputMode="stateVisible|adjustPan en el archivo de manifiesto para mi actividad. Disposición ahora, nada consigue vuelto a clasificar según el tamaño.

Pero el problema es que mi ScrollView no funciona ahora porque supongo que el sistema piensa que la ventana no necesita cambiar el tamaño debido a mi modificación anterior al manifiesto, por lo que el ScrollView no está activado. Lo contrario ocurre cuando tomo android:windowSoftInputMode="stateVisible|adjustPan fuera, el desplazamiento funciona, pero el fondo se apretó cuando el teclado aparece.

¿Hay alguna manera de codificar para que mi fondo no se apretó, y mi ScrollView todavía funciona? ¡Gracias!

Intente utilizar en su actividad la propiedad windowSoftInputMode con los siguientes valores:

android:windowSoftInputMode="stateAlwaysHidden|adjustResize"

No sé si es necesario, pero puede intentar agregar a la etiqueta ScrollView su diseño el fillViewPort a true . Así que debería parecer algo que te muestro a continuación:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:fillViewport="true"> <!-- Other Views --> </ScrollView> 

Avísame sobre tu progreso.

En su vista de desplazamiento coloque un diseño relativo, el niño 0 es una vista de imagen y el niño 1 es su contenido. Utilice la vista de imagen para su imagen de fondo (src) en lugar del fondo de la vista de desplazamiento. La vista de la imagen respetará los tipos scaleTypes, mientras que el fondo de un layout no.

  • Agregar Layout de forma programática dentro de otro
  • Problema de creación de diseño de Android
  • Android texto disposición pregunta: dos textviews, lado a lado, con diferentes alineaciones de diseño y pesos
  • Cómo obtener el número de artículo (posición) de una cadena
  • Android: Múltiples vistas de los niños para una vista personalizada con un diseño existente
  • Altura de diseño de Android mínima de match_parent, pero wrap_content si el contenido es mayor que parent
  • FrameLayout layout_weight de forma programática
  • ¿Cómo puedo multilinar el título expandido de CollapsingToolbarLayout?
  • Mejor manera de programar botones / imágenes
  • RecyclerView con CollapsingToolbarLayout se desplaza mal cuando se lanza
  • Alineación del botón de la barra de herramientas de Android v7
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.