¿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.
- Las filas ListView de Android en ScrollView no se muestran completamente - recortadas
- Wiki sobre android-zoom-view.jar
- Cómo cambiar el tamaño de Android ScrollView
- ¿Cómo usar ScrollView en Android?
- Correctamente desplazando un EditText a la vista cuando se enfoca
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
Resultado deseado
- Android dificultad con linearlayout dentro de scrollview
- Android Scrollview en RelativeLayout con ButtonBar
- Android: ¿Cómo puedo hacer elementos desplazables horizontalmente en una lista vertical?
- Vista demasiado grande para encajar en la caché de dibujo en Webview dentro de scrollview
- Cómo hacer 'fastScrollEnabled' como ListView en ScrollView?
- Scrollview con paginación en android
- ScrollView no cambia de tamaño directamente después de cambios secundarios
- Vaciar ListView dentro de ScrollView como dos Fragmentos
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í.
- ¿Cómo puedo encontrar usuarios de aplicaciones cercanos en android?
- ¿Cómo mantener los atributos de diseño en la vista personalizada android combinada?