Teclado de software Android cubre campo edittext


¿Hay alguna forma de hacer que la pantalla se desplace para permitir que se vea el campo de texto?

Author: Martlark, 2010-07-21

10 answers

¿Estás preguntando cómo controlar lo que es visible cuando se abre el teclado? Es posible que desee jugar con el windowSoftInputMode. Ver developer docs para más información.

 151
Author: Cheryl Simon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-28 22:43:44

Tuve los mismos problemas. Intente el siguiente código:

android:windowSoftInputMode="adjustPan"

Añádelo a tu manifiesto.xml en la etiqueta de actividad de la actividad que contiene la entrada. ejemplo:

<activity
            android:name=".Activities.InputsActivity"
            ...
            android:windowSoftInputMode="adjustPan"
            />
 136
Author: Kuldeep Sakhiya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-13 01:31:00

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 mi AndroidManifest.actividad relevante del archivo 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 adjustResize. Esto cambiará toda la interfaz de usuario para dar espacio para el softkeyboard.

 50
Author: DanKodi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-25 04:18:45

¿Por qué no intentar agregar una vista de desplazamiento para envolver lo que sea que desee desplazar? Así es como lo he hecho, donde en realidad 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 se abre el teclado suave.

<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 del ScrollView, pero eso depende de usted. Además, configurar el estilo de barra de desplazamiento a outsideInset ayuda, al menos en mis dispositivos.

 25
Author: zmilojko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-17 15:55:38

Todo lo que necesitas hacer es

android:isScrollContainer="true"

Fuente: http://www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-scrolling/

 14
Author: Ekundayo Blessing Funminiyi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-25 09:38:09

Lo siento por revivir un hilo antiguo, pero nadie mencionó la configuración android:imeOptions="flagNoFullscreen" en su elemento EditText

 11
Author: William Moffitt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-09 16:49:19
android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"

Funciona para android EditText, mientras que no funciona para webview o xwalkview. Cuando el teclado de software oculta la entrada en webview o xwalkview, tiene que usar android:windowSoftInputMode="adjustResize"

 5
Author: Kris Roofe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-07 05:09:07

Creo que puedes hacer que se desplace usando el trackball, lo que podría lograrse mediante programación a través de métodos de selección eventualmente, pero es solo una idea. Sé que el método trackball normalmente funciona, pero en cuanto a la forma exacta de hacer esto y hacer que funcione desde el código, no estoy seguro.
Espero que eso ayude.

 4
Author: Luis Miguel Serrano,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-21 01:36:06

Agregue esta sola línea a su actividad relativa donde la cubierta del tablero clave edita el texto.dentro del método de actividad onCreat ().

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
 0
Author: umesh shakya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-25 07:54:11

Edita tu AndroidManifest.xml

android:windowSoftInputMode="adjustResize"

Agregue esto a su vista raíz del archivo de diseño.

android:fitsSystemWindows="true"

Eso es todo.

 -1
Author: Ahamed Riswan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-09 16:35:43