Respuestas:
¿Estás preguntando cómo controlar lo que es visible cuando se abre el teclado virtual? Es posible que desee jugar con el windowSoftInputMode . Vea los documentos del desarrollador para más discusión.
android:fitsSystemWindows="true"
a su vista raíz para resolver esto.
Tuve los mismos problemas Prueba el siguiente código:
android:windowSoftInputMode="adjustPan"
agréguelo a su manifest.xml en la etiqueta de actividad de la actividad que contiene la entrada. ejemplo:
<activity
android:name=".Activities.InputsActivity"
...
android:windowSoftInputMode="adjustPan"
/>
adjustResize
lo haría, pero también cubre mis campos de entrada
Tuve el mismo problema donde el softkeyboard estaba en la parte superior de las vistas EditText que se colocaron en la parte inferior de la pantalla. Pude encontrar una solución agregando una sola línea a la actividad relevante de mi archivo AndroidManifest.xml.
android:windowSoftInputMode="adjustResize|stateHidden"
Así es como se ve toda la etiqueta de actividad:
<activity
android:name="com.my.MainActivity"
android:screenOrientation="portrait"
android:label="@string/title_activity_main"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
Aquí el valor más importante es el ajuste de tamaño. Esto desplazará toda la interfaz de usuario hacia arriba para dar espacio al teclado virtual.
adjustResize|stateHidden
y no hizo ninguna diferencia adjustPan
.
¿Por qué no intentar agregar un ScrollView para envolver lo que sea que desee desplazar? Así es como lo hice, donde realmente dejo un encabezado en la parte superior que no se desplaza, mientras que los widgets de diálogo (en particular los EditTexts) se desplazan cuando abres el teclado virtual.
<LinearLayout android:id="@+id/HeaderLayout" >
<!-- Here add a header or whatever will not be scrolled. -->
</LinearLayout>
<ScrollView android:id="@+id/MainForm" >
<!-- Here add your edittexts or whatever will scroll. -->
</ScrollView>
Normalmente tendría un LinearLayout dentro de ScrollView, pero eso depende de usted. Además, configurar el estilo de la barra de desplazamiento como outsideInset ayuda, al menos en mis dispositivos.
Todo lo que necesitas hacer es
android:isScrollContainer="true"
fuente: http://www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-scrolling/
Perdón por revivir un hilo antiguo pero nadie mencionó la configuración android:imeOptions="flagNoFullscreen"
en su elemento EditText
android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"
funciona para Android EditText, mientras que no funciona para webview o xwalkview. Cuando el teclado virtual oculta la entrada en webview o xwalkview que ha utilizadoandroid:windowSoftInputMode="adjustResize"
Creo que puede hacer que se desplace utilizando el trackball, lo que podría lograrse mediante programación mediante métodos de selección eventualmente, pero es solo una idea. Sé que el método de trackball generalmente funciona, pero en cuanto a la forma exacta de hacerlo y hacerlo funcionar desde el código, no estoy seguro.
Espero que ayude.
agregue esta línea única a su actividad relativa donde el teclado cubre editar el método de actividad text.inside onCreat ().
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Si el campo Editar texto está cubierto por el teclado, use el siguiente código:
EditText= findViewById(R.id.edittext)
EditText?.getParent()?.requestChildFocus(EditText,EditText)
Si desea que el Cursor esté en el Texto de edición enfocado, use EditText.requestFocus()
después el EditText?.getParent()?.requestChildFocus(EditText,EditText)
que ayuda a obtener el foco y el Cursor en el Texto de edición enfocado.
Edite su AndroidManifest.xml
android:windowSoftInputMode="adjustResize"
Agregue esto a su vista raíz del archivo de diseño.
android:fitsSystemWindows="true"
Eso es todo.