¿Por qué no android: windowSoftInputMode = "stateVisible | adjustResize" ajustar la pantalla cuando se muestra el teclado virtual?

No puedo hacer el android: windowSoftInputMode = "stateVisible | adjustResize" opción de trabajo. Cuando se muestra el teclado virtual, la vista de desplazamiento no se desplaza automáticamente a la parte inferior.

Edit : He intentado usar adjustPan en su lugar (stateVisible | adjustPan), pero lo que ocurre es que la vista de desplazamiento se deshabilita.

Solución : Finalmente, encontré una sugerencia que funciona. He creado un OnGlobalLayoutListener () y lo agregó a mi vista de desplazamiento. Comprobé si la altura de la vista de la raíz de mi actividad (que es mi vista de desplazamiento) cambió. Si es así, estoy asumiendo que el teclado suave se muestra.

Haga clic aquí para más información.

Aquí está mi código fuente:

AndroidManifest.xml

<application ... android:theme="@android:style/Theme.NoTitleBar" > <activity ... android:screenOrientation="portrait" android:windowSoftInputMode="stateVisible|adjustResize" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> ... </application> 

Pantalla de inicio de sesión con teclado – la vista de desplazamiento no se desplaza Introduzca aquí la descripción de la imagen

Resultado deseado Introduzca aquí la descripción de la imagen

Solución : Finalmente, encontré una sugerencia que funciona. He creado un OnGlobalLayoutListener () y lo agregó a mi vista de desplazamiento. Comprobé si la altura de la vista de la raíz de mi actividad (que es mi vista de desplazamiento) cambió. Si es así, estoy asumiendo que el teclado suave se muestra.

Haga clic aquí para más información.

Puede desplazarse automáticamente hasta la parte inferior de su actividad por usted mismo, reemplazando la devolución de llamada onConfigurationChanged () en Activity :

 scrollView.post(new Runnable() { @Override public void run() { scrollView.fullScroll(View.FOCUS_DOWN); } }); 

Esto significa que también debe indicar a su actividad que desea que se llame la llamada cuando la actividad cambie su diseño utilizando el atributo configChanges en la declaración de actividad en su archivo AndroidManifest :

 <activity android:configChanges="screenLayout|screenSize" <!-- Don't know which could actually do the trick --> ... > </activity> 

Espero que esto pueda ayudarte.

tratar

 android:windowSoftInputMode="adjustPan|stateVisible" 

En Manifiesto:

 android:windowSoftInputMode="adjustPan|stateVisible" 

En la parte inferior xml del layout de toda la distribución secundaria de scrollview, establezca una textview, como

  <ScrollView android:id="@+id/driverLoginScrollView" android:layout_width="match_parent" android:layout_height="wrap_content" android:fillViewport="false" android:scrollbars="none"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:layout_marginTop="50dp" android:focusable="true" android:focusableInTouchMode="true" android:orientation="vertical"> . . . <TextView android:layout_width="match_parent" android:layout_height="100dp" android:focusable="false" android:textIsSelectable="false" /> </LinearLayout> </ScrollView> 

Encontré que si había fijado los parámetros de la disposición en mi visión de la voluta, entonces no trabajaría. Tan pronto como se eliminaron los parámetros de diseño funcionó como se esperaba. No puedo explicar por qué, simplemente dejando que otros sepan lo que funcionó para mí.

  • No se puede obtener ScrollView para desplazarse cuando se muestra el teclado virtual
  • ScrollView> LinearLayout> PreferenceFragment es altura cero
  • ¿Cómo puedo ver que View se vuelve visible
  • Ver contenido a continuación ExpandableListView
  • El teclado suave no activa el desplazamiento en un ScrollView
  • ScrollView: Cambia el color del efecto de borde con Holo
  • Scrollview dentro de un fragmento de viewpager no se desplaza cuando se muestra el teclado
  • Android: Altura total de ScrollView
  • ViewPager en ScrollView
  • ¿Es posible tener un ViewPager dentro de un ScrollView?
  • Eliminar la pista de la barra de desplazamiento de ScrollView en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.